Trois champs de formulaires liés

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Trois champs de formulaires liés

par Invité » 06 nov. 2007, 15:14

Super, ça marche !! le problème est [Résolu].

Merci à nos cracks...

par AB » 05 nov. 2007, 17:20

Puisque c'est possible je n'emploierais que la méthode getElementById en faisant ça :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <script type="text/javascript"> function somme() { var input1 = isNaN(document.getElementById('amount1').value) ? 0 : document.getElementById('amount1').value; var input2 = isNaN(document.getElementById('amount2').value) ? 0 : document.getElementById('amount2').value; var input3 = isNaN(document.getElementById('amount3').value) ? 0 : document.getElementById('amount3').value; var total_amount = Number(input1) + Number(input2) + Number(input3); //uniquement si suppression de la partie décimale total_amount = parseInt(total_amount); document.getElementById('total').value = total_amount; } </script> </head> <body> <input type="text" name="amount1" id="amount1" onBlur ="somme()" /> <input type="text" name="amount2" id="amount2" onBlur ="somme()" /> <input type="text" name="amount3" id="amount3" onBlur ="somme()" /> <input type="text" name="total_amount" id="total" /> </body> </html>

par Truc » 05 nov. 2007, 11:55

Mention "javascript" innutile... onblur est déjà un événement JS :
onblur="javascript:somme()"

par d0m » 05 nov. 2007, 09:37

y a t il des erreurs javascript? si oui lesquelles?

par schninkel » 05 nov. 2007, 09:33

Je fais ce que tu me conseilles mais ça ne marche pas mieux. Le but est d'avoir le champ d'input total qui est adapté par la valeur de la somme des trois champs 'amount'.

Ca a l'air simple mais est sans doute plu compliqué que c'en a l'air...

Quelqu'un peut-il me donner le dernier coup de pouce ?


Voici ce que j'ai :

Code : Tout sélectionner

<script type="text/javascript"> function somme() { var input1 = document.form1.getElementByName('amount1'); var input2 = document.form1.getElementByName('amount2'); var input3 = document.form1.getElementByName('amount3'); var total_amount = parseInt(input1.value) + parseInt(input2.value)+ parseInt(input3.value); document.getElementById('total').value = total_amount; } </script> </head> <body> <input type="text" name="amount1" id="amount3" onblur="javascript:somme()"/> <input type="text" name="amount2" id="amount3" onblur="javascript:somme()"/> <input type="text" name="amount3" id="amount3" onblur="javascript:somme()"/> <input type="text" name="total_amount" id="total" /> </body> </html>

par Truc » 02 nov. 2007, 14:13

Le truc c'est que tu disposes du total dans une variable et tu n'en fais rien :-k
var total_amount = ....
document.getElementById('total').value = total_amount;

par schninkel » 02 nov. 2007, 14:06

J'ai effectué la correction mais n'ai toujours pas le total qui s'affiche dans le champ total_amount

Que faire d'autre ?

par h0_noMan » 01 nov. 2007, 16:26

Tu n'as pas besoin du .value aprés ton total_amount.
Puis met un var devant.

Code : Tout sélectionner

var total_amount = parseInt(input1.value) + parseInt(input2.value)+ parseInt(input3.value);

par zeus » 01 nov. 2007, 13:36

Modération :
schninkel, pour toute nouvelle question ouvre un nouveau sujet,
cela te permettra d'avoir plus de réponses.
Je me suis permis d'extraire ton message du post original.

En plus, tu pourras mettre [Résolu] dès que ton problème évoqué ici sera réglé.

Merci de prendre le temps de lire les règlements.

Trois champs de formulaires liés

par schninkel » 01 nov. 2007, 12:17

J'ai le même type de problème (PS de Zeus : que dans le sujet suivant). Je veux additionner les champs de formulaire amount1, amount2, amount3 et verser le résultat dans total_amount.

Sur base des conseils donnés, j'ai préparé le code suivant qui ne fonctionne pas...

Qu'est-ce qui cloche ?

Code : Tout sélectionner

<head> ... <script type="text/javascript"> function somme() { var input1 = document.form1.getElementByName('amount1'); var input2 = document.form1.getElementByName('amount2'); var input3 = document.form1.getElementByName('amount3'); total_amount.value = parseInt(input1.value) + parseInt(input2.value)+ parseInt(input3.value); return total_amount; } </script> </head> <body> <input type="text" name="amount1" id="amount3" onblur="javascript:somme()"/> <input type="text" name="amount2" id="amount3" onblur="javascript:somme()"/> <input type="text" name="amount3" id="amount3" onblur="javascript:somme()"/> <input type="text" name="total_amount" id="total" /> </body>
Merci pour vos conseils...