Bonjour,
J'ai un soucis de validation de formulaire.
Ce que je veux faire est ultra simple : valider un formulaire HTML via une fonction javascript.
Je cherches depuis des jours sur différents forums et je ne trouve pas pourquoi mon formulaire est validé (le produit est ajouté au panier) mais pas validé par la fonction javascript.
La ou les choses se corsent c'est que la validation javascript fonctionne sous IE 8 lorsque l'on change la quantité voulue (si on la change pas et que l'on laisse par défaut -1 -> pas de vérification), mais pas sous IE 10 ou Firefox.
J'en perds mon latin ...
J'ai épuré le code, le voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function fiche_controle_conditionnement(frm, conditionnement) { alert("Controle conditionnement en cours"); // Verifie que le client ne commande qu'un nombre ENTIER de produits var regex = new RegExp ("^[0-9]+$"); if(!regex.test(frm.elements['qty'].value)) { alert("Quantit\u00E9 invalide."); return false; } alert(conditionnement); // verifier si la quantit? est un multiple du conditionnement // On divise la quantit? par le conditionnement nombre = parseInt(frm.elements['qty'].value) / parseInt(conditionnement); alert(frm.elements['qty'].value); if (parseInt(nombre) != nombre) { // Si le resultat n'est pas un entier on retourne false (pas d'envoi du formulaire) alert("Produit vendu par conditionnement de "+conditionnement+".\n\nVous devez sp\u00E9cifier une quantit\u00E9 correspondant \u00E0 un multiple de "+conditionnement+"."); return false; } else { return true; //Si le resultat est un entier on continue et on valide le formulaire } }
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <form id="buy_block" onsubmit="return fiche_controle_conditionnement(this,12)" method="post" action="../cart.php"> <p class="price"> <br> <span class="our_price_display"> <span id="our_price_display">1,02 </span> TTC </span> <br> </p> <p id="quantity_wanted_p"> <label>Quantité :</label> <input id="quantity_wanted" class="text" type="text" maxlength="3" size="2" value="1" name="qty"> </p> <p id="add_to_cart" class="buttons_bottom_block"> <input class="exclusive" type="submit" value="Ajouter au panier" name="Submit"> </p> </form>
Si vos yeux experts y trouvait quelque chose de faux ca m'arrangerai, car depuis le temps que je suis dessus, je tourne en rond.
Merci par avance.
Partager