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

Colocar FOR() em PopUp


irisp

Pergunta

É 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');
        
        }
}

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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;

Bem, esse código não vai funcionar porque esses IDs são das suas células da tabela, e não dos campos.

Além disso, explica melhor como a página funciona... não entendi muito bem. Quando é que essa popup é criada? o que tem nela? o que é que invoca a função putData?

Link para o comentário
Compartilhar em outros sites

  • 0

Bom Dia, Obrigada por me responder mais uma vez :)

O que aparece dentro dessa pop-up e os dados da peças que estão cadastradas dentro do meu bd. Ah idéia é a seguinte. O carinha clica no botão de listar todas peças e seleciona a peça que ele escolheu, ai esta peça já vai aparecer no campo de peça lá no meu outro jsp. Com esse códigos que coloquei assim funciona apenas no primeiro campo(txtpeca1), todo vez que o carinha seleciona e tentar jogar em outro campo(txtpeca2) ele joga no primeiro campo.

Entendeu? Ou consegui complicar mais? Rsrs

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
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...