Page 1 sur 1

Automatiser calcul

Posté : 15 déc. 2008, 23:57
par tibious
Bonjour à tous, dans des formulaires je fait des calculs que je voudrais automatiser par une fonction et onkeyup :

Code : Tout sélectionner

<script type="text/javascript"> function calcul() { result = surf * 5 } </script> <form id="form" action="" method="post"> Surface :<br> <input type="text" name="surf" id="surf" value="" size="15" maxlength="40" onkeyup="calcul();" /> <br> <input type="text" name="result" id="result" value="" size="15" maxlength="40" /> </form>
Ce script ne fonctionne pas, pouvez-vous m'aider à le corriger?
Merci d'avance.

Posté : 16 déc. 2008, 00:56
par Patriboom
Salut!

Il faut d'abord que tu nommes ton formulaire. Il faut ensuite que tu réfères aux éléments de ce formulaire par le nom de celui et le nom des éléments.

Ainsi: NOMformulaire.result = NOMforumlaire.surf * 5;

Tu peux faire mieux en t'assurant de référer au bon formulaire, celui de la page courante:

Code : Tout sélectionner

document.NOMformulaire.result.value = NOMforumlaire.surf.value * 5
Un petit tour sur un site de base en javascript t'aiderait davantage que de faire corriger tes scripts à la pièce. Voici un résultat de recherche utile: http://www.google.com/search?client=ope ... 8&oe=utf-8

Posté : 16 déc. 2008, 01:05
par djtec
Normal qu'il ne fonctionne pas car dans ta fonction calcul ta une variable surf qui vient de on c'est pas ou donc il faut que tu récupère le value du input.

Donc:
Ta fonction:

Code : Tout sélectionner

<script type="text/javascript"> function calcul(surf) { document.getElementById('result').innerHTML = surf * 5 } </script>
Et pour le input:

Code : Tout sélectionner

<input type="text" name="surf" id="surf" value="" size="15" maxlength="40" onkeyup="calcul(this.value);" /> <span id="result"></span>
La variable this.value dans le input permet de récupérer la valeur que la personne vas rentrer.
Ensuite pour l'afficher le résultat il faut utiliser document.getElementById avec innerHTML, ce qui permet de l'inscrire dans le span avec l'id result.
Et il fallait bien déclarer surf dans ta fonction donc tu dois le mettre dans function calcul(surf).

Voilà j'espère avoir été clair....

Posté : 16 déc. 2008, 01:13
par tibious
Le probléme que je rencontre depuis ce matin c'est que l'on trouve des tuto sur les calculs, les fonctions, les formulaires... mais de façon indépendante.
Je ne trouve rien qui peut m'expliquer ce que je veut écrire.
Merci à vous
Impeccable,si j'avais su j'aurais posé la question avant.
Un grand merci