Verif formulaire [Résolu]

Signaler
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011
-
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011
-
Bonjour,
Je dois vérifier dans un formulaire que l'utilisateur mets un chiffre entre 1 et 10. Je suis une buzz en java, mais j'arrive à bidouiller, sauf que là je sais comment ça s'écrit. Voilà mon script de vérif :
function verif_formulaire()
{
if(document.formulaire.note.value == "") {
alert("Il manque la note… !");
document.formulaire.note.focus();
document.formulaire.note.style.backgroundColor = "#b64046";
return false;
}
var reg = /^[0-9]$/
if (reg.exec(document.formulaire.note.value)==null){
alert("La note n'est pas comprise entre 0 et 10 !")
document.formulaire.note.focus();
return (false);
}
else
document.formulaire.submit();
}
Et je sais pas comment corriger la variable reg pour que ca marche.

Merci je sais que c'est facile pour vous ;-)

17 réponses

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
Bonjour,

bah, pourquoi une expression régulière ?
et je vous en prie, pas de onclick
sur le bouton submit, ni de
submit() en javascript !!!!

<script type="text/javascript">
function verif_formulaire()
{ if ( document.formulaire.note.value == "" )
{ alert("Il manque la note… !");
document.formulaire.note.focus();
document.formulaire.note.style.backgroundColor = "#b64046";
return false;
}
if ( isNaN(document.formulaire.note.value) ||
Number(document.formulaire.note.value)<0 ||
Number(document.formulaire.note.value)>10 )
{ alert("La note n'est pas comprise entre 0 et 10 !")
document.formulaire.note.focus();
return false;
}
return true;
}
</script>
<form name="formulaire" action="javascript:alert('envoyé');"
onsubmit="return (verif_formulaire());" >


</form>


Cordialement [mon Site] [M'écrire] Bul
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

Super, merci.

Mais je sais même pas ce qu'est une expression régulière…
Je prends note du reste, mais si j'ai bien compris, non ce script n'était pas sur mon bouton, mais bien appelé comme ton exemple…

Va vraiment falloir que je me penche plus profondement dans ce javascript…
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
régulières expressions régulières
vous employez dans votre exemple ( var reg... ;o)
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>non ce script n'était pas sur mon bouton,
>>mais bien appelé comme ton exemple
alors ça ne peut faire des choses en double,
voire planter... :
document.formulaire.submit();
qui est redondant avec le formulaire
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

Humm je commence à comprendre cette histoire de submit…

Voilà le début de mon form :
<form name="formulaire" action='' method='post' enctype="multipart/form-data" >
<!--onSubmit="return formverif()" -->

Et aïe j'ai bien un onclick sur mon bouton :


Sachant que tout ce petit monde est expédié en php par la fonction "mail".
Je vais faire des tests pour voir si j'ai bien compris tous ces conseils.

oua on s'occupe bien des petits nouveaux ici… super
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
voila exactement ce qu'il ne faudrait pas faire ;o)

<form name="formulaire" action='' method='post' enctype="multipart/form-data" >


il vaudrait "nettement" mieux :

<form name="formulaire" action='' method='post' enctype="multipart/form-data"
onSubmit="return (formverif());">

Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
j'ai oublié d'ajouter :

bien entendu sans document.formulaire.submit()
dans la fonction formverif()
si dans cette fonction on fait return false;
le formulaire ne sera pas envoyé, il le sera
uniquement si return true;
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

Et bien voilà formulaire propre ou tout marche…
Plus de onclick, plus de document.formulaire.submit, une vérification qui marche, et le formulaire qui part bien…

Ca y est je suis pro
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
nickel si ça baigne et bravo
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
et... les décimales sont autorisées ? hein ?
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

hummm ça c'est la question subsidiaire ...

Heu j'ai limité mon champ note à 2 caractères donc pas de soucis. C'est une note de 1 à 10 et c'est tout... pas de virgule.
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
zut... je pensais piéger....
mais, et en saisissant ".5" ? ça donne quoi ?
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

Bonne question, mais pourquoi quelqu'un m'embeterait à écrite ".5"

Et donc je reçois le ".5" donc pas très pratique si je veux récupérer ce chiffre pour des statistiques (cette note fait partie d'un questionnaire d'évaluation)

Et là vous allez surement me montrer une nouvelle ligne a insérer pour exclure toutes les ponctuations, ou quelques chose du genre
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
>>mais pourquoi quelqu'un m'embeterait à écrite ".5"
effectivement, on peut voir ça comme ça...
mais... si cela arrive ?

>>vous allez surement me montrer une nouvelle ligne
vous aiguiller tout au plus !
_ tester la présence d'un "."
indexOf, split, expressions régulières... ou autres
_ tester si la valeur du champ == valeur du champ
"converti" en entiers
_ ou ...
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
11
par exemple ( je ne dis pas que ce soit la meilleure
solution, c'est une possibilité sans plus )
Math chez selfHTML
vous y trouverez des infos pour les autres pistes
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

Mouai, bon là j'ai plus le temps de peaufiner ce formulaire mais je garde tout ça en mémoire.

encore merci