I have a problem here with the pass-through when clicking on the submit was to pass to another php file, the values come from a php loop, I tested without the loop going ... more searching for the database of Wordpress bank is not going Do you have any suggestions?
<script>
total = 0;
function adiciona(id)
{
calcula(id,"adicao");
}
function remove(id)
{
calcula(id,"subtracao");
}
function calcula(id,operacao)
{
nomeid = "nome"+id;
precoid = "preco"+id;
qtdid = "qtd"+id;
nome = document.getElementById(nomeid).innerHTML;
preco = document.getElementById(precoid).innerHTML;
preco = parseInt(preco);
qtd = document.getElementById(qtdid).innerHTML;
qtd = parseInt(qtd);
//Debug
//alert("Produto: " + nome + "\n Preço: " + preco);
if(operacao=="adicao")
{
total = total + preco;
qtd = qtd + 1;
}
else
{
total = total - preco;
qtd = qtd - 1;
}
document.getElementById(qtdid).innerHTML = qtd;
document.getElementById("total").innerHTML = total;
}
</script>
<!-- REPASSA PARA O PHP -->
<script>
function verifica_e_envia()
{
array_dados = new Array();
colecao = document.getElementsByTagName("tr");
qtd_blocos = colecao.length - 1; // O último tr da tabela é onde fica o total e está sendo descontado
// É necessário saber a quantidade de blocos para poder usar em um loop catando os valores
// Percorre os blocos catando nomes, quantidades e valores dos produtos com quantidade maior que zero
for(i=1; i<=qtd_blocos ;i++)
{
qtdid = "qtd"+i;
qtd = document.getElementById(qtdid).innerHTML;
qtd = parseInt(qtd);
if(qtd>0)
{
obj_tmp = {};
nomeid = "nome"+i;
nome = document.getElementById(nomeid).innerHTML;
precoid = "preco"+i;
preco = document.getElementById(precoid).innerHTML;
preco = parseInt(preco);
obj_tmp.nome = nome;
obj_tmp.preco = preco;
obj_tmp.qtd = qtd;
obj_tmp.subtotal = qtd*preco;
// adiciona elemento no array de dados que será enviado
array_dados.push(obj_tmp);
}
}
// põe o array_dados no input hidden json_dados
document.getElementById("json_dados").value = JSON.stringify(array_dados);
// envia o formulário form_pedido_produtos
document.getElementById("form_pedido_produtos").submit();
}
</script>
<table>
<!-- INICIA Bloco gerado por LOOP PHP -->
<?php query_posts('showposts=2category_name=gas');?>
<?php if (have_posts()): while (have_posts()) : the_post();?>
<tr>
<td class="prodtd">
<div id="nome<?php the_id(); ?>" class="nomeprod"> <?php the_title(); ?></div>
<div id="preco<?php the_id(); ?>" class="preco"><?php echo get_post_meta( $post->ID, 'preco', true ); ?></div>
</td>
<td align="center" valign="middle">
<input type="button" value="-" onclick="remove(<?php the_id(); ?>)">
<span id="qtd<?php the_id(); ?>">0</span>
<input type="button" value="+" onclick="adiciona(<?php the_id(); ?>)">
</td>
</tr>
<?php endwhile; else:?>
<?php endif;?>
<!-- FINALIZA Bloco gerado por LOOP PHP -->
<tr>
<td align="center"><b>Total: <span id="total">0<span></b></td>
<td> </td>
</tr>
</table>
<form action="http://localhost/soma_total/pedido_produtos.php" method="post" id="form_pedido_produtos">
<input type="hidden" name="json_dados" id="json_dados">
<input type="button" value="Verifica e envia valores" onclick="verifica_e_envia()">
</form>