Verif formulaire

Résolu
mabuse12
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011
- 16 sept. 2009 à 18:54
mabuse12
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011
- 17 sept. 2009 à 14:41
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

Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 05:32
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
3
mabuse12
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

17 sept. 2009 à 08:48
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…
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 10:51
régulières expressions régulières
vous employez dans votre exemple ( var reg... ;o)
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 10:55
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 11:01
>>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
0
mabuse12
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

17 sept. 2009 à 11:24
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
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 11:33
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());">

0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 11:40
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;
0
mabuse12
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

17 sept. 2009 à 11:50
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
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 12:03
nickel si ça baigne et bravo
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 12:08
et... les décimales sont autorisées ? hein ?
0
mabuse12
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

17 sept. 2009 à 13:20
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.
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 13:24
zut... je pensais piéger....
mais, et en saisissant ".5" ? ça donne quoi ?
0
mabuse12
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

17 sept. 2009 à 13:30
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
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 13:37
>>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 ...
0
Bul3
Messages postés
4933
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
13
17 sept. 2009 à 13:43
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
0
mabuse12
Messages postés
9
Date d'inscription
mercredi 21 mai 2008
Statut
Membre
Dernière intervention
7 janvier 2011

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

encore merci
0