Ir para conteúdo
Fórum Script Brasil
  • 0

Form gerado dinamicamente


Silvio Oliveira

Pergunta

Pessoal ...

Duvida simples

Pessoal digamos que eu gere um form dinamicamente atraves de uma acao do usuario.

var retorno = innerHTML + "" + 
    
    "<form method='post' id='formCidadeUf' name='formCidadeUf'>"+    
    "<td><input name='nome' type='text' id='nome' size='50' maxlength='80'></td>"+
    "</form>";

Agora se eu quiser ler este form depoir de gerado.

Como faço isto?

se eu fizer document.formCidadeUf ele me da um null.

Tem como ler estes objetos gerados dinamicamente?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Ichi Silvião... atolado de dúvidas simples....eu te invejo rsrs. Queria eu ter só dúvidas simples.

Da forma mais simples:

var form="<form method='post' id='formCidadeUf' name='formCidadeUf'>"
form+="<input name='nome' type='text' id='nome'" 
form+="size='50' maxlength='80'></form>"

document.getElementById('divID').innerHTML=form
Da forma mais complicada:
var form=document.createElement("form")

with(form){
setAttribute("method", "post")
setAttribute("id", "formCidadeUf")
setAttribute("name", "formCidadeUf")
setAttribute("size", "50")
setAttribute("maxlength", "80")
appendChild(document.createElement("<input name=nome type='text' id='nome' size='50' maxlength='80' />"))
}

document.body.appendChild(form)

Você deu um id para o seu form, use-o.

document.getElementById('formCidadeUf')

kelabrasssss

Editado por KaKarotto
Link para o comentário
Compartilhar em outros sites

  • 0

Olha só eu criei o meu form assim.

Depois eu estou imprimindo ele numa div.

function montaTb(operacao){
    
    var bt = "";
    if(operacao == "IN"){
        bt = "<a href='java script:inCidade();'>INSERIR</a>";
    } else {
        bt = "<a href='java script:upCidade();'>ALTERAR</a>";    
    }
    
    /*var testeF = new Object();
    testeF.nome = "";
    alert("a " + document.forms.length)
    "<form></form>";
    alert("D " + document.forms.length)*/
    var retorno = ""+
    //"<div>" + 
    //"<table width='300' border='0' cellspacing='2' "+
    "<form method='post' id='formCidadeUf' name='formCidadeUf' action=''>"+
    "<input type='hidden' name='cidadeBean.seq' id='cidadeBean.seq'>"+
    "<input type='hidden' name='cidadeBean.id' id='cidadeBean.id'>"+
    "<tr>"+
    "<td>Nome:</td>"+
    "<td><input name='cidadeBean.nome' type='text' id='cidadeBean.nome' size='50' maxlength='80'></td>"+
    "<td>"+bt+"</td>"+
    "</tr><tr><td colspan='2' id='cidadeBean.msgErro'></td></tr>"+
    "</form>";
    //"</table>"; 
    //"</div>";
    
    return retorno
Ele funciona certinho salva e tals ... Mas prorpiedade reset() não funciona
document["formCidadeUf"].reset();
E quando eu vou ler todos os elementos do form o campo nome não aparece
for(var name in form) names += name + "<br>";
E tambem este cara aqui
alert(form.elements.length)
so me retorna 2 quando na verdade deveria retornar 3 (cidadeBean.seq, cidadeBean.id, cidadeBean.nome) Será que esqueçi de alguma coisa? Pelo que vi ele esta criando o form no obj FORMS
//document.forms.length

Pessoal vocês tão por ai?

já sairam de ferias? rsss

Olha só com + testes percebi que se eu remover as <TABLE><TR><TD> o campo nome aparece no array de elemntos do fomr.

O reset ainda não funciona.

Mas porque tenho q deixar os campos do form soltos na div?

Tem alguma regra?

Editado por Silvio Oliveira
Link para o comentário
Compartilhar em outros sites

  • 0

bom quanto ao tamnho do form acho que se você colocar o nome correto do form "formCidadeUf.elements.length"

eu copiei e colei o seu codigo mas tirei ele da forma de string!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
    <table>
        <form name="form">
        <input type='hidden' name='cidadeBean.seq' id='cidadeBean.seq'>
        <input type='hidden' name='cidadeBean.id' id='cidadeBean.id'>
        <tr>
            <td>Nome:</td>
            <td><input name='cidadeBean.nome' type='text' id='cidadeBean.nome' size='50' maxlength='80'></td>
            <td>"+bt+"</td>
            </tr><tr><td colspan='2' id='cidadeBean.msgErro'></td></tr>
        </form>
    </table>
<script language="javascript">
alert(document.form.elements.length);
</script>
</body>
</html>

e o numero alertado foi 3

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...