Ir para conteúdo
Fórum Script Brasil
  • 0

[LE AJUDA] Function não está checando valor do checkbox (Parsefloat)


Julix

Pergunta

Olá galera é meu primero tópico, já usei o botão buscar, para evitar flood, enfim...

Minha dúvida é

<script language="javascript">

function Calcula(){

var Parametro1=document.FORM1.Campo1.value;

var Parametro2=document.FORM2.Campo2.value;

var Parametro3=document.FORM3.Campo3.value;

var Parametro4=document.FORM4.Campo4.value;

var Soma=( parseFloat(Parametro1) + parseFloat(Parametro2) + parseFloat(Parametro3) + parseFloat(Parametro4));

document.FORM5.VALORTOTAL.value=Soma;

}

</script>

Certo... ele retorna o valor para um Campo de Texto (VALORTOTAL) (tempo real), até ai tudo bem, só que vocês estão vendo o Parametro4, na variavel soma (parsefloat)? ele é uma Checkbox.

eu queria que ele lesse primeiro se ela está checada antes de pegar o valor dela, por que quando eu clico em qualquer uma Lista e seleciono um valor, o valor desse checkbox já vai direto sem passar por essa validação primeiro.

e o correto é usar para essa checkbox onChange="Calcula()" ?

MUITO OBRIGADO AMIGOS, AGUARDO RESPOSTAS.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom dia.

Espero que te ajude.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>

<script>
var d = document;

function calcula()
{
    // Inicio zerando os valores
    d.getElementById( 'total' ).innerHTML = 'R$ 0.00';

    // Pegandos os campos
    var oChecks = d.getElementsByTagName( 'input' );
    var iChecks = oChecks.length;
    var fTotal  = 0;

    // Lendo os dados marcados
    for( var i = 0; i < iChecks; i++ )
    {
        if( oChecks[ i ].type == 'checkbox' && oChecks[ i ].checked )
        {
            // Separando pelo id passado
            var separaInfo  = oChecks[ i ].id.split( '_' );
            
            // pegando o valor de cada linha
            var fValorLinha = d.getElementById( 'val' + separaInfo[ 1 ] ).value;

            // tratando para ver se foram informados valores
            fValorLinha = parseFloat( fValorLinha );

            if( ! isNaN( fValorLinha ) )
            {
                fTotal += fValorLinha;
            }
            else
            {
                d.getElementById( 'val' + separaInfo[ 1 ] ).value = 0;
            }
        }
    }

    d.getElementById( 'total' ).innerHTML = 'R$ ' + fTotal.toFixed( 2 );
}
</script>

</head>

<body>
<table width="100%"  border="1">
  <tr>
    <td width="4%" align="center" valign="middle"><div align="center">
      <input name="chk_1" type="checkbox" id="chk_1" value="checkbox">
    </div></td>
    <td width="96%"><input name="val1" type="text" id="val1"></td>
  </tr>
  <tr>
    <td align="center" valign="middle"><div align="center">
      <input name="chk_2" type="checkbox" id="chk_2" value="checkbox">
    </div></td>
    <td><input name="val2" type="text" id="val2"></td>
  </tr>
  <tr>
    <td align="center" valign="middle"><div align="center">
      <input name="chk_3" type="checkbox" id="chk_3" value="checkbox">
    </div></td>
    <td><input name="val3" type="text" id="val3"></td>
  </tr>
  <tr>
    <td align="center" valign="middle"><div align="center">
      <input name="chk_4" type="checkbox" id="chk_4" value="checkbox">
    </div></td>
    <td><input name="val4" type="text" id="val4"></td>
  </tr>
  <tr>
    <td align="center" valign="middle"><div align="center">
    </div></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td align="center" valign="middle"><div align="center">Total</div></td>
    <td>
        <span id="total"></span>
    </td>
  </tr>
  <tr>
    <td colspan="2"><input type="button" value="Calcular" onclick="calcula()"/></td>
  </tr>
  
</table>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...