Criando texts via javascript

2 respostas
A

A idéia é a seguinte:
Tenho uma janela pai que permite a chamar um popup que contém uma pesquisa de registros no banco. Neste popup eu posso selecionar quantos registro eu quiser e quando clico no botão enviar ele manda os ids dos registros selecionados para a página pai e fechar o popup. Na página pai eu recupero os ids e por enquanto eu estou imprimindo em tela, mas a intenção é criar um número de textbox igual ao número de ids selecionados no popup.
Por exemplo: selecionei os registro de id 35,78,67, portanto devo criar 3 textbox.

O que desejo fazer é: criar esse número de textbox via javascript, dá pra fazer?

2 Respostas

D

Faz algo do tipo:

<body>
	<div id="cbContainer"></div>
</body>

<script>
var numeroCheckBoxes = 28;

for(var i=0; i<numeroCheckBoxes; i++){
   var inp = document.createElement("input");
   inp.setAttribute("type","textbox");
   inp.setAttribute("name","nomeDoCheckBox");
   inp.setAttribute("id","idDoCheckBox");
   inp.setAttribute("value","valorDoCheckBox");

   document.getElementById("cbContainer").appendChild(inp);
}
</script>
A
Consegui fazer o que eu queria, que era criar os textbox (um para descricao e outro para valor). Porém, não estou conseguindo criar uma linha a cada grupo de textbox,já usei o createElement('br'), mas deu o erro de que a página não suportava...Segue meu código para analisarem e me ajudarem como puder...
saida.println("function Criatxt(tipo){");
		saida.println("var inputs,inp,inp_vlr,linha;");
		saida.println("inputs = document.getElementsByTagName('input');");
		saida.println("for(i=0;i&lt;inputs.length;i++){");		
		saida.println("if(inputs[i].type=='checkbox'){//se os inputs forem checkbox");
		saida.println("if(inputs[i].checked==true){");		
		saida.println("linha = document.createElement('br');");
		saida.println("inp = opener.document.createElement('input');");
		saida.println("inp_vlr = opener.document.createElement('input');");
		
		saida.println("inp.setAttribute('type','textbox');");
		saida.println("inp.setAttribute('name','txtCodConta'+i);");  
		saida.println("inp.setAttribute('id','txtCodConta'+i);");
		saida.println("inp.setAttribute('value',inputs[i].value);");
		saida.println("inp.setAttribute('disabled','disabled');");
		saida.println("inp.setAttribute('size',inputs[i].value.length);");
				
		saida.println("inp_vlr.setAttribute('type','textbox');");
		saida.println("inp_vlr.setAttribute('name','txtVlrConta'+i);");  
		saida.println("inp_vlr.setAttribute('id','txtVlrConta'+i);");
		saida.println("inp_vlr.setAttribute('value','');");
		
		saida.println("if(tipo == 'cred'){");
		saida.println("opener.document.getElementById('containerContas').appendChild(inp);");
		saida.println("opener.document.getElementById('containerContas').appendChild(inp_vlr);");
		saida.println("opener.document.getElementById('hddContaCred').value = document.SelecContas.tcontas.value;");
		//saida.println("opener.document.getElementById('containerContas').appendChild(linha);");
		saida.println("}else{");
		saida.println("opener.document.getElementById('containerContas2').appendChild(inp);");
		saida.println("opener.document.getElementById('containerContas2').appendChild(inp_vlr);");
		saida.println("opener.document.getElementById('hddContaDeb').value = document.SelecContas.tcontas.value;");
		//saida.println("opener.document.getElementById('containerContas2').appendChild(linha);");
		saida.println("}");//fecha o else da verificacao se e credito ou debito
		saida.println("}");//fecha o if da verificacao se esta checado
		saida.println("}");//fecha o if da verificacao se e checkbox
		saida.println("}");//fecha o for
		saida.println("this.close();}");//fecha a funcao
>
Criado 29 de julho de 2009
Ultima resposta 3 de ago. de 2009
Respostas 2
Participantes 2