Jump to content
Fórum Script Brasil
  • 0

Form gerado dinamicamente


Silvio Oliveira

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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

Edited by KaKarotto
Link to comment
Share on other 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?

Edited by Silvio Oliveira
Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.5k
×
×
  • Create New...