Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Junior_f04

[Resolvido] Campos Dinamicos + abertura de pop da janela pai

Recommended Posts

Galera, estava vendo alguns topicos que ajudaram,mais minha duvida é um pouco diferente... se alguém poder ajudar

 

Bom tenho um formulário que vai adicionar campos dinamicamente

 

----

***-- Todos textfilds

produtos ( link na imagem para o pop, que busca no banco as informações necessários)

preço

quantidade

***-- Todos textfilds

 

estou usando o script abaixo para abrir os campos dinamicamente


<script type="text/javascript">
var mainDivName = 'eventDates';

function addEvent()
{
var ni = document.getElementById(mainDivName);

var numi = document.getElementById('theValue');
var num = (document.getElementById("theValue").value -1)+ 2;
numi.value = num;

var divIdName = "eventDate"+num+"Div";
var newdiv = document.createElement('div');
newdiv.setAttribute("id",divIdName);
newdiv.innerHTML = "<table width=798 border=0 cellspacing=0 cellpadding=0><tr><td><input type='hidden' id='id' name='id'><input type='text' name='produto[]' id='produto[]'><a href=\"javascript:abrirPop('d.php?id="+num+"')\">B</a></td><td><input type='text' name='qd[]' id='qd[]'></td><td><input type='text' name='preco[]' id='preco[]'></td><td></td><td><a href=\"#\" onclick=\"removeEvent(\'"+divIdName+"\')\">Remover linha</a></td></tr></table>";


ni.appendChild(newdiv);

}

function removeEvent(divNum)
{
var d = document.getElementById(mainDivName);
var olddiv = document.getElementById(divNum);
d.removeChild(olddiv);
}
</script>

 

 

 

Ate aqui maravilha ... agora começa os problemas

 

Vamos dizer que criei 3 campos dinamicos ou seja para inserir 3 novos produtos ( produto, preço,quantidade )

 

ai vo la e clico em buscar... e abre o pop... pesquiso certinho e quando vou retornar não da certo.

 

Imagino que seja ... pois os campos por serem dinamicos não existem na realidade ... estão ali pelo javascript

 

E agora como pegar os valores pesquisados e coloca-los nos campos da janela pai corretamente ?

 

 

Segue o código do pop

<script>
function retorna(id,nome,tel){
       //window.opener referencia a pagina a qual chamou a popup
       window.opener.document.getElementById('id').value = id;
       window.opener.document.getElementById('produto').value = produto;
       window.opener.document.getElementById('preco').value = preco;
       window.close(pagina);//fecha a página
}
</script>
<table>
               <tr>
                       <td>
                               <a href='#' onclick=retorna("1","nome","telll")>Escolher</a>
                       </td>
                       <td>
teste
                       </td>
               </tr>
         </table>
</head>
<body>

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade, isso é pq você não pode duplicar o atributo ID dos elementos.

 

dê um ID exclusivo para cada grupo de campos, por exemplo:

 

nome1, preco1..

nome2, preco2..

 

 

assim, na hora de fazer o popup retornar para o form, você terá q saber com parâmetros, quais IDs você deve alimentar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu fiz isso no 1º teste

 

ficou mais ou menos asssim, pegando o produto como "id", mais nao deu certo.

 

<input type='text' name='produto"+num+"[]' id='produto"+num+"[]'>

 

o que você me sugerio serio isso

 

<input type='hidden' id='id"+num+"' name='id"+num+"'>

 

Desculpa pelas duvidas, mas nao entendo muito ainda de javascript

 

Vlw pela força

Compartilhar este post


Link para o post
Compartilhar em outros sites

sugiro o seguinte:

 

<input type='hidden' id='campo"+num+"' name='campo[]'>

 

ai você ajusta o js para enviar para o campo certo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.