É o seguinte, povo. Eu tenho uma tabela dinâmica onde os itens que são incluídos recebem o id + 1 (ex: txt_codpeca1) e eu também tenho um javascript que abre uma popup com os dados da tabela e ao clicar esses dados deverão preencher os campos do formulário. Bem, o problema é que como a tabela é dinâmica, cada campo recebe um id diferente e eu não estou conseguindo fazer com que o item da popup reconheça o campo da página pai. Eu pensei em ter um For() na página de popup pra poder adicionar o (i++) depois do nome do campo mas não estou conseguindo fazer. Quando coloco o for, ele não envia nada pro formulário. Exemplificando: Código da tabela dinâmica: i=1;
function AddCampos(){
x=document.getElementById("txt_codpeca")
x.innerHTML+="<b>Cód.:</b> <input type='text' name='txt_codpeca"+i+"' id='txt_codpeca"+i+"' size='7' onBlur='updateDadosP(i)'><br>"
i++
m=document.getElementById("txt_descpeca")
m.innerHTML+="<input type='text' name='txt_descpeca"+i+"' id='txt_descpeca"+i+"' size='37'><br>"
i++
n=document.getElementById("txt_precopeca")
n.innerHTML+="<b>Preço:</b> <input type='text' name='txt_precopeca"+i+"' id='txt_precopeca"+i+"' size='5'><br>"
i++
o=document.getElementById("txt_quantpeca")
o.innerHTML+="<b>Quant.:</b> <input type='text' name='txt_quantpeca"+i+"' size='5'><br>"
i++
p=document.getElementById("txt_subtotalp")
p.innerHTML+="<b>Total:</b> <input type='text' name='txt_subtotalp"+i+"' size='5'><br>"
i++
}
Código da página com formulário:
<table id='tabelaP' border="0" align="left">
<tr>
<td id='txt_codpeca'></td>
<td id='txt_descpeca'></td>
<td id='txt_precopeca'></td>
<td id='txt_quantpeca'></td>
<td id='txt_subtotalp'></td>
<td width="35"><button value="ADD" onclick="AddCampos()"><img height="18" width="20" alt="Incluir" src="images/incluir.gif" align="top"></button></td>
<td><button value="listart" onclick="deleteRowPeca()"><img height="18" width="20" src="images/excluir.gif" alt="Excluir Linha" align="absmiddle"/></button></td>
</tr>
</table>
Código da popup:
function putData(valor,valor2,valor3) {
var codigo = valor;
var descricao = valor2;
var preço = valor3;
//document.fomFilho.campoFilho.value;
if (codigo!= "" && descricao!="" && preço!=""){
window.opener.document.getElementById('txt_codpeca').value = codigo;
window.opener.document.getElementById('txt_descpeca').value = descricao;
window.opener.document.getElementById('txt_precopeca').value = preço;
window.close();
}else{
alert('Não é permitido campos em Brancos');
}
}