marcelobbt 7 Report post Posted December 26, 2016 Tentei fazer o seguinte código para passar os dados do PHP (os valores do total). Só que não está rodando. ==javascript== function totalMembros() { var total = "<?php echo $total; ?>"; var calculototal = total; } $(function(){ //Cria uma função para Criar os campos Nome function createDivFields(num){ var total = getTotalItems(); var html = '<div class="items">'; html += '<p><input type="text" name="membro'+total+'" /></p>'; html += '<div>'; return html; } function getTotalItems(){ var calculototal = calculototal +1; document.getElementById('total').value = calculototal; } $("#add").click(function(){ //Adicionado no final do elemento ( #boxFields) os campos $("#boxFields").append(createDivFields()); return false; }); }); ==html== <a href="#" id="add">Adicionar mais um membro</a> <div id="boxFields"> <?php for ($i=0; $i<$total; $i++){ echo '<div class="items"> <p><input type="text" name="membros'.$i.'" value="'.$membrosOrig[$i].'" /></p> </div>'; } ?> </div> <input type="text" name="total" id="total" value="0" style="display: none"/> Share this post Link to post Share on other sites
marcelobbt 7 Report post Posted December 26, 2016 Consegui resolver após consulta em vários sites e muitos testes. Um ponto importante é que tudo deve estar no mesmo arquivo, pois o PHP vai carregar antes do arquivo javascript. Esse era um dos pontos que estava errando <body onload="Edicao()"> <a href="#" id="add3">Adicionar mais uma criança</a> <div id="boxFields"> <?php for ($i=0; $i<$total; $i++){ echo '<div class="items"> <p><input type="text" name="membros'.$i.'" value="'.$membrosOrig[$i].'" /></p> </div>'; } ?> </div> <input type="text" name="total" id="totalMembros" value="0" style="display: none"/> <script> var total = calculototal = 0; function Edicao() { var total = "<?php echo $total; ?>"; var calculototal = parseInt(total); document.getElementById('totalMembros').value = calculototal; } $(function(){ //Cria uma função para Criar os campos Nome function createDivFields(num){ var totalM = getTotalItems(); var html = '<div class="items">'; html += '<p><input type="text" name="membro'+totalM+'" /></p>'; html += '<div>'; return html; } //cria uma função para conta os campos criados function getTotalItems(){ campototal = document.getElementById('totalMembros').value; calculototal = parseInt(campototal); calculototal = calculototal +1; document.getElementById('totalMembros').value = calculototal; return calculototal; } //Adiciona os campos $("#add").click(function(){ //Adicionado no final do elemento ( #boxFields) os campos $("#boxFields").append(createDivFields()); return false; }); }); </script> </body> Obs.: Apesar de não ser necessário, coloquei o código completo para dar o entendimento. A questão estava na função Edicao(). Share this post Link to post Share on other sites