Carcleo 4 Denunciar post Postado Fevereiro 27, 2014 Pessoal.Tenho um formulário com campos dinãmicos que, ao ser rodao o loop, gera o html abaixo ............ <div id="div40"> <fieldset style="width:650px"> <legend>Tipo</legend> <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo40' name='nomeTipo[4][0]' value="AP" /><br /> <label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas40' name='qtdePessoas[4][0]' value="2" /><br /> <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco40' name='preco[4][0]' value="80,00" /><br /> <label class='passo2'>Descrição</label> : <textarea id='descricao40' name='descricao[4][0]' cols='40' rows='5'>AP</textarea><br /> </fieldset> <input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'><br><br> </div> <div id="div41"> <fieldset style="width:650px"> <legend>Tipo</legend> <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo41' name='nomeTipo[4][1]' value="SUITE" /><br /> <label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas41' name='qtdePessoas[4][1]' value="3" /><br /> <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco41' name='preco[4][1]' value="140,00" /><br /> <label class='passo2'>Descrição</label> : <textarea id='descricao41' name='descricao[4][1]' cols='40' rows='5'>SUITE</textarea><br /> </fieldset> <input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'><br><br> </div> <script>var qtdeCamposForm=2;</script> <div id="div4"><input type="button" value="Adicionar campos" onclick="addCampos3(this.parentNode.id, 4)" /> </div><br><br> <br><br><input type="button" value="Enviar" onclick="valida_envia_empresa(this.form)" /> </form> Note que existe uma separação entre as div's <div id="div40"> e <div id="div41">Acontece que eu tenho um script que gera bloco de div's como estas com seus devidos campos dentro.Quando eu clicko em Adicionar Campos, os campos realmente são criados.Como por exemplo:Essa, é a tela de deputação do chrome.Mas, quando mando exibir o código fonte, o campo não aparece. Igual esta no bloco de código acima.Veja no próprio browser;Mas quando submete o formulário, eu não recebo via POST, todos os blocos. Só estou recebendo 2 (dei um print_r para ver).<?php if(isset($_GET["acao"]) and $_GET["acao"]=="cadPreco") { print "<pre>"; print_r($_POST); print "</pre>"; Array ( [diferenciais_alt_empresas] => Array ( [4] => Os mais diversos apartamentos ) [inclusos_alt_empresas] => Array ( [4] => Ar Condicionado ) [pgto_alt_empresas] => Array ( [4] => Vista Prazo ) [taxa_alt_empresas] => Array ( [4] => n ) [taxaValor_alt_empresas] => Array ( [4] => 0,00 ) [observa_alt_empresas] => Array ( [4] => Nada ) [nomeTipo] => Array ( [4] => Array ( [0] => AP [1] => SUITE ) ) [qtdePessoas] => Array ( [4] => Array ( [0] => 2 [1] => 3 ) ) [preco] => Array ( [4] => Array ( [0] => 80,00 [1] => 140,00 ) ) [descricao] => Array ( [4] => Array ( [0] => AP [1] => SUITE ) ) ) Como resolver isso? Compartilhar este post Link para o post Compartilhar em outros sites
Lucas Guima 164 Denunciar post Postado Fevereiro 27, 2014 Elementos criados depois da página carregada, não aparecem no código fonte. E se não aparece no POST, é porque não está dentro do form. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Fevereiro 27, 2014 Segue o código completo:Eles esta(pelo menos a criação está) dentro do form.Onde será que esta o erro: <form action="?acao=cadPreco&empresa=<?php echo $_GET["empresa"]; ?>&cotacao=<?php echo $_GET["cotacao"]; ?>" method="post" name="gravatipos" id="gravatipos"> <tr><td colspan="2" align="center">========================</td></tr> <tr><td> <?php foreach($servicos as $servicoID) { $nomeServicoString="SELECT nome FROM servicos WHERE id=".$servicoID; $nomeServicoQuery=$conexao->Query($nomeServicoString); list($servicoNome)=$nomeServicoQuery->fetch_row(); $pesquisaServicoString="SELECT id, diferenciais, inclusos, pgto, taxa, taxaValor, observacao FROM empresasservicos WHERE empresa=".$_GET["empresa"]." and servico=".$servicoID; $pesquisaServicoQuery=$conexao->Query($pesquisaServicoString); if ($pesquisaServicoQuery->num_rows>0) { list($servicoTipo, $diferenciais, $inclusos, $pgto, $taxa, $taxaValor, $observacao)=$pesquisaServicoQuery->fetch_row(); if($taxa=="s") { $taxaValor=formata_moeda($taxaValor); } else { $taxaValor='0,00'; } echo "<h2><label>Opções de ".$servicoNome." ao cliente:</label></h2><br />"; ?> <label class='passo2'>Diferenciais</label> : <textarea name="diferenciais_alt_empresas[<?php echo $servicoID;?>]" id="diferenciais_alt_empresas<?php echo $servicoID;?>" cols="50" rows="2"><?php echo nl2br($diferenciais);?></textarea><br /> <label class='passo2'>Inclusos</label> : <textarea name="inclusos_alt_empresas[<?php echo $servicoID;?>]" id="inclusos_alt_empresas<?php echo $servicoID;?>" cols="50" rows="2"><?php echo nl2br($inclusos);?></textarea><br /> <label class='passo2'>Formas de Pagamento</label> : <textarea name="pgto_alt_empresas[<?php echo $servicoID;?>]" id="pgto_alt_empresas<?php echo $servicoID;?>" cols="50" rows="2"><?php echo $pgto; ?></textarea><br /><br /> <label class='passo2'>Taxa de Serviço?</label> : <input type="radio" name="taxa_alt_empresas[<?php echo $servicoID;?>]" id="taxa_alt_empresass<?php echo $servicoID;?>" value="s" onclick="abre('taxa[<?php echo $servicoID;?>]')" /> Sim <input type="radio" name="taxa_alt_empresas[<?php echo $servicoID;?>]" id="taxa_alt_empresasn<?php echo $servicoID;?>" checked="checked" value="n" onclick="fecha('taxa[<?php echo $servicoID;?>]')" /> Não<br /> <div id="taxa<?php echo $servicoID;?>" style="display:none"> <label class='passo2'>Valor </label> : <input type="text" name="taxaValor_alt_empresas[<?php echo $servicoID;?>]" id="taxaValor_alt_empresas<?php echo $servicoID;?>" value="<?php echo $taxaValor;?>" class="real"/> </div><br /> <label class='passo2'>Observação </label> : <textarea name="observa_alt_empresas[<?php echo $servicoID;?>]" id="observa_alt_empresas<?php echo $servicoID;?>" cols="50" rows="2"><?php echo nl2br($observacao);?></textarea><br /><br /> <?php if($taxa=="s") { echo "<script>document.getElementById('taxa_alt_empresass".$servico."').checked=true;</script>"; echo "<script>document.getElementById('taxa[".$servico."]').style.display = 'block';</script>"; } else { echo "<script>document.getElementById('taxa_alt_empresasn".$servico."').checked=true;</script>"; } $pesquisaServicoTipoString="SELECT id,empresasservicos,tipo,pessoas,preco,descricao FROM empresasservicostipos WHERE empresasservicos=".$servicoTipo; $pesquisaServicoTipoQuery=$conexao->Query($pesquisaServicoTipoString); if ($pesquisaServicoTipoQuery->num_rows>0) { $contaId=0; while(list( $id, $empresasservicos, $tipo, $pessoas, $preco, $descricao)=$pesquisaServicoTipoQuery->fetch_row()) { $preco = formata_moeda($preco); ?> <div id="div<?php echo $servicoID;?><?php echo $contaId;?>"> <fieldset style="width:650px"> <legend>Tipo</legend> <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo<?php echo $servicoID;?><?php echo $contaId;?>' name='nomeTipo[<?php echo $servicoID;?>][<?php echo $contaId;?>]' value="<?php echo $tipo;?>" /><br /> <label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas<?php echo $servicoID;?><?php echo $contaId;?>' name='qtdePessoas[<?php echo $servicoID;?>][<?php echo $contaId;?>]' value="<?php echo $pessoas;?>" /><br /> <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco<?php echo $servicoID;?><?php echo $contaId;?>' name='preco[<?php echo $servicoID;?>][<?php echo $contaId;?>]' value="<?php echo $preco;?>" /><br /> <label class='passo2'>Descrição</label> : <textarea id='descricao<?php echo $servicoID;?><?php echo $contaId;?>' name='descricao[<?php echo $servicoID;?>][<?php echo $contaId;?>]' cols='40' rows='5'><?php echo nl2br($descricao);?></textarea><br /> </fieldset> <input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'> <br><br> </div> <?php $contaId++; } ?> <script>var qtdeCamposForm=<?php echo $contaId;?>;</script> <div id="div<?php echo $servicoID;?>"><input type="button" value="Adicionar campos" onclick="addCampos3(this.parentNode.id, <?php echo $servicoID;?>)" /> </div><br><br> <?php } else { echo "<h2><label>Tipos para o serviço: ".$servicoNome."</label></h2><br />"; ?> <div id="div<?php echo $servicoID;?>"><input type="button" value="Adicionar campos" onclick="addCampos(this.parentNode.id, <?php echo $servicoID;?>)" /> </div><br><br> <div id="div<?php echo $servicoID;?>0"> <fieldset style="width:650px"> <legend>Tipo</legend> <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo<?php echo $servicoID;?>0' name='nomeTipo[<?php echo $servicoID;?>][0]'><br /> <label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas<?php echo $servicoID;?>0' name='qtdePessoas[<?php echo $servicoID;?>][0]'><br /> <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco<?php echo $servicoID;?>0' name='preco[<?php echo $servicoID;?>][0]'><br /> <label class='passo2'>Descrição</label> : <textarea id='descricao<?php echo $servicoID;?>0' name='descricao[<?php echo $servicoID;?>][0]' cols='40' rows='5'></textarea><br /> </fieldset> <input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'> <br><br> </div> <?php } } else { echo "<h2><label>Tipos para o serviço: ".$servicoNome."</label></h2><br />"; include("../admin/camposAdicionais.php"); ?> <div id="div<?php echo $servicoID;?>"><input type="button" value="Adicionar campos" onclick="addCampos(this.parentNode.id, <?php echo $servicoID;?>)" /> </div><br><br> <div id="div<?php echo $servicoID;?>0"> <fieldset style="width:650px"> <legend>Tipo</legend> <label class='passo2'>Nome Tipo</label> : <input type='text' id='nomeTipo<?php echo $servicoID;?>0' name='nomeTipo[<?php echo $servicoID;?>][0]'><br /> <label class='passo2'>Qtde Pessoas</label> : <input type='text' onkeypress="BloqueiaLetras();" id='qtdePessoas<?php echo $servicoID;?>0' name='qtdePessoas[<?php echo $servicoID;?>][0]'><br /> <label class='passo2'>Preço</label> : <input type='text' class="real" id='preco<?php echo $servicoID;?>0' name='preco[<?php echo $servicoID;?>][0]'><br /> <label class='passo2'>Descrição</label> : <textarea id='descricao<?php echo $servicoID;?>0' name='descricao[<?php echo $servicoID;?>][0]' cols='40' rows='5'></textarea><br /> </fieldset> <input type='button' onclick='fecha(this.parentNode.id)' value='Apagar campo'> <br><br> </div> <?php } } ?> <br><br><input type="button" value="Enviar" onclick="valida_envia_empresa(this.form)" /> </form> </td></tr></table> <?php } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Fevereiro 27, 2014 usando jquery, invoque o método append() ao referido ponto onde deseja adicionar o objeto. exemplo escopo $("#bar").last().append('<input type="text" value="foo">'); <div id="bar"></div> o equivalente em "puro js", é appendChild().. Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Fevereiro 27, 2014 Ta dando erro aqui: <div id="bar"></div> <script>$("#bar").last().append('<input type="text" value="foo">')</script> <<aqui Se quiser ver o funcionamento: http://www.bateriasadvance.com.br/morrodesaopaulo.inf.br/empresa/index.php?acao=form&cotacao=10&empresa=160 E aproveita e vê o que o depurador fez com a linha do form: Não existe aquele fechamento do meu form ali não. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 27, 2014 Não existe sequer tag form no bagulho!!! Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Fevereiro 27, 2014 Ela existe sim. Mas esta fechada. Achei o erro: Era disposição dos elementos html no documento Obrigado pela atenção. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Fevereiro 27, 2014 #5... os nomes em #4 são meramente ilustrativos.. mas enfim.. :upset: Compartilhar este post Link para o post Compartilhar em outros sites