Jump to content
Sign in to follow this  
marcelobbt

Passar dados do PHP para javascript

Recommended Posts

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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.