Ir para conteúdo

POWERED BY:

Arquivado

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

btrevisol

PHP checkbox

Recommended Posts

Eu coloquei o alert no javasript, quando clico em um checkbox ele mostra uma janela escrita valor0, e se eu clicar em ontro checkbox, por exemplo o 5°, ele mostra o valor0,valor1, valor2, valor3, valor4, valor5 é isso mesmo?

 

e no debug esta aparecendo a mesma coisa.

 

Erro: document.getElementById("valor" + i) is null

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste como está o teu código atual

Compartilhar este post


Link para o post
Compartilhar em outros sites

function somar_mostrar( el, i )
{
 alert( 'valor'+i );
 document.getElementById('valor'+i).style.display='block'; 
 document.getElementById('total').value = el.checked ? parseFloat( document.getElementById('total').value+el.value ): parseFloat(document.getElementById('total').value-el.value );
}

 

<?php		
 $conexao = mysql_connect("localhost", "root", "") or die(mysql_error());
 $db = mysql_select_db("formulario");

 $selec = "SELECT * FROM opcional";
 $exec = mysql_query($selec, $conexao) or die(mysql_error());

 $dados = mysql_fetch_assoc( $exec );

 $i = 0;
 while( $dados = mysql_fetch_assoc( $exec ) )
  {
?>
 <label><?php echo $dados['nome']; ?><input type="checkbox" name="<?php echo $dados['nome']; ?>" value="<?php echo $dados['valor'];?>" onclick="somar_mostrar( this, <?php echo $i; ?> )" />
<?php
  $i++;
  }
?>

 

Eu coloquei só os pedaços que estou vendo, se quise posso postar o código todo.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

vi um erro de html. Não fechou a tag label

 

 

<label><?php echo $dados['nome']; ?>
  <input type="checkbox" name="<?php echo $dados['nome']; ?>" value="<?php echo $dados['valor'];?>" onclick="somar_mostrar( this, <?php echo $i; ?> )" />
</label>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verdade estava faltando fechar o label.

 

fiz isso e os probelmas de demorar para carregar e os checkbox marcarem sozinhos parou!!

 

Mas ainda não esta retornando nenhum valor, e o debug continua com o erro.

 

Erro: document.getElementById("valor" + i) is null

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você excluiu o SPAN ne?!

 

então exclua a linha que chamava ele.. tipo.. cara, isso é básico.

se você não entendeu isso, então quer dizer q você não entendeu o script.

 

function somar_mostrar( el, i )
{
 //alert( 'valor'+i );
 //document.getElementById('valor'+i).style.display='block'; 
 document.getElementById('total').value = el.checked ? parseFloat( document.getElementById('total').value+el.value ): parseFloat(document.getElementById('total').value-el.value );
}

assim, na boa..

reflita: http://wbruno.com.br/blog/2011/07/22/aprenda-basico/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu entendi o script sim, e exclui as linhas do span e que chamava o span, esta correto.

 

Mas ele ainda não soma os valores no campo texto, só mostra um na frente do outro.

 

Obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui, eu te disse como resolver:

esses valores são inteiros ? do tipo float? ou estão formatados em moeda brasileira ?

 

 

parseInt(), parseFloat(), ou .replace() para corrigir a virgula.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim eu vi esse post seu de como eu resolvo esse problema, é que eu não sei como usar corretamente esses códigos, para ele pegar todos os valores checados para fazer a soma.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

William, estou tentando resolver esse problema de somar os campos, mas não consegui, sera que você pode me dar uma luz!!

 

Obrigado pela ajuda desde o começo.

 

Abraço

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.