Voilà j'ai testé et j me suis un peu cassé la tête mais maintenant ça fonctionne pour les chiffres.
Je me suis cassée la tête notamment car au début j'avais mis
<input type="number"....>
Et là ça fonctionnait pas... Pourquoi ???
J'ai changé en
et ça fonctionne sans soucis...
J'ai regardé aussi pour la balise label et je me demandais ce que l'attribut "for" ajoutait comme info. Vous pouvez me dire ?
Par contre la partie de ma fonction qui teste si les champs obligatoires sont remplis ne fonctionne plus dans la partie javascript, et je ne vois pas pourquoi vu qu'avant ça fonctionnait sans soucis.
C'est surement ma façon de les mettre l'une à la suite de l'autre mais je pensais que l'on pouvait tester plusieurs condition dans une même fonction.
Je vous mets le code, pouvez vous me dire si ça peut se faire comme ça ???
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| function valider(){
// On reteste le mail et le numéro de téléphone
if(!(VerifMail() !== false && valider_numero() !== false)){return false}
// Teste les champs qui ont la classe "nombre" dans le bloc ayant l'id "formulaire_commande"
var champs = document.getElementById('formulaire_commande').getElementsByClassName('nombre');
var verif_nombre = "";
var str;
var label;
for (var i=0; i < champs.length; i++)
{
str = champs[i].value;
if (isNaN(str))
{
// récupère le texte du label (qui est le parent) et concatène à verif_nombre
label = champs[i].parentNode.textContent;
verif_nombre += "\n- "+label;
}
}
if(verif_nombre != "")
{
alert("le(s) champ(s): "+verif_nombre+"\n nécessite(nt) un nombre");
return false;
}
else
{
return true;
}
// si la valeur du champ prenom est non vide
if(document.formulaire_commande.nom.value != "" &&
document.formulaire_commande.rue.value != "" &&
document.formulaire_commande.code_postal.value != "" &&
document.formulaire_commande.ville.value != "" &&
document.formulaire_commande.telephone.value != "" &&
document.formulaire_commande.mail.value != ""
)
{
// les données sont ok, on peut envoyer le formulaire
return true;
}
else {
// sinon on affiche un message
alert("Les champs avec une * sont obligatoire");
// et on indique de ne pas envoyer le formulaire
return false;
}
} |
Partager