Forum de discussion
Forum « Programmation Javascript » (archives)
Re: verification d'un formulaire à la saisie
Envoyé: 20 juillet 2004, 7h39 par Oznog
Hum, comment fais-tu pour passer des matrices ($nomprod et $quant) à ta fonction Jafvascript?
J'aimerais bien voir ça! D'après moi tu ne vois pas d'erreur Javascript parceque ce qu'elles ne sont pas activées. Tu passe de véritablement matrices (array) php directement dans ta génération du HTML. Alors j'aimerais bien voir ton code généré. (view source après la génération PHP).
Seulement cette ligne :
<input name="quantiteserv" type="int" defaultvalue="0"
onChange="return verifquantite(form1.typeserveur,form1.quantiteserv,<?php $nomprod ?>,<?php $quant ?>);">
</p>
Ca ça ne peut fonctionner.
Tu devra générer tes matrices dans une fonction Javascript.
maMatriceProd = new Array("produit1","produit2"...);
maMatriceQuantite = new Array(24,30...);
Et ainsi pouvoir faire
onChange="return verifquantite(form1.typeserveur,form1.quantiteserv,maMatriceProd,maMatriceProd);">
Car ta fonction attend une matrice, pas une chaîne de caractères et certainement pas une matrice PHP.
D'autre part, c'est quoi ça ( type="int") un type Integer? D'où ça sort? Ça n'existe pas? C'Est type="text" car c'est bien sûr toujours une chaîne de caractère même si tu saisie un nombre.
Aussi, tu gère le "return" mais tu ne le traite pas dasn la fonction. Lors de l'erreur, retourne-le à "false" sinon il restera à "true" peut importe le résultat :
alert ("il n'y a plus assez de stock pour ce produit!");
return false;
Et tu peux enlever le point virgule à la fin de la fonction...
Enfin, utilise l'objet formulaire (avec this), beaucoup plus simple d'ailleurs.
<input name="quantiteserv" type="text" defaultvalue="0"
onChange="return verifquantite(this.form.typeserveur,this,<?php $nomprod ?>,<?php $quant ?>);">
Après quoi, on pourra tester la fonction.
Ciao
Oznog
Réponses
|