Ir para conteúdo

Arquivado

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

WellingtonSilva

Atualizar campo total a partir de outros valores

Recommended Posts

Amigos,

 

Estou com um problema não consigo resolver, por simples que ele seja esta me complicando.

 

Tenho um formulário onde existem 5 input para serem digitados valores de orçamento, e no final existe um campo TOTAL. Estou tentando atualizar o TOTAL a cada valor de orçamento digitado, mas não vai.

 

Eu tenho um exemplo, simples que funciona perfeitamente, mas quando jogo para o meu form, não funciona.

 

Abaixo segue o básico que funciona corretamente:

<html>
   <body>
      <script> 
        function soma() 
        {
          form.campo4.value = (form.campo1.value*1) + (form.campo2.value*1) + (form.campo3.value*1)
        }
      </script>

      <form name="form">
        <input name="campo1" onchange="soma()"><br> 
        <input name="campo2" onchange="soma()"><br> 
        <input name="campo3" onchange="soma()"><br> 
        <input name="campo4" readonly><br>
      </form>
   </body>
</html>

Este exemplo acima funciona perfeitamente!!!

 

O que eu tenho no sistema:

...

<script>
  function soma() 
  {
    form.ttorca.value = (form.orca1.value*1) + (form.orca2.value*1) + (form.orca3.value*1) + (form.orca4.value*1) + (form.orca5.value*1);
  }
</script>

...

<form name="edtorca" id="edtorca" method="post" action="gerenciaorca.php?acao=editar&id=<?php echo $id ?>">

  ...

  <input maxlength="20" value="<?php echo $orca1 ?>" name="orca1" id="orca1" type="text" size="20" onchange="soma()"/>

  ...

  <input maxlength="20" value="<?php echo $ttorca ?>" name="ttorca" id="ttorca" type="decimal" size="20" readonly="readonly"/>

</form>


Vejam que a lógica é a mesma, eu tenho 5 INPUTs que vão do ORCA1 ao ORCA5, semelhantes ao que está no código.

Salientando que no começo do arquivo eu dei um select no MySQL para buscar possíveis valores que já estejam gravados para este orçamento, por isso existe o ECHO nas linhas.

 

Alguém pode me dizer o que estou fazendo de errado, já que no outro código isso funciona?

 

Grande abraço!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O primeiro exemplo funcionou porque você usou no javascript uma referência da propiedade name do form

<form name="form">

e no segundo exemplo essa referencia deixou de existir

<form name="edtorca" id="edtorca" 

solução adicione esse codigo na primeira linha da sua função soma()

var form = document.getElementById('edtorca');

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.