Problème exécution de fonction de validation de formulaire
7 réponses
stefen76
Bonjour,
Je rencontre un probl=E8me pour l'ex=E9cution de ce script de validation
de mon formulaire,
___________________________________________________
function spn_form_verif(formverif)
{
var spn_err_msg;
var spn_err_ctl;
spn_err_msg =3D "Certains champs ne respectent pas les r=E8gles de
gestion :<br/>";
spn_err_ctl =3D false;
if (formverif.elements['chp1'].value =3D=3D "") {
spn_err_ctl =3D true;
spn_err_msg =3D spn_err_msg + '<br/>- Le champ "chp1" est
obligatoire.';
document.getElementById('chp1').style.border=3D"2px solid red";
}
if (formverif.elements['chp2'].value =3D=3D "") {
spn_err_ctl =3D true;
spn_err_msg =3D spn_err_msg + '<br/>- Le champ "chp2" est
obligatoire.';
document.getElementById('chp2').style.border=3D"2px solid red";
}
if (spn_err_ctl =3D=3D false) {
return true;
} else {
document.getElementById('spn_err_msg').innerHTML =3D spn_err_msg;
return false;
}
}
___________________________________________________
J'appel cette fonction sur le onsubmit de mon formulaire avec ceci :
<form name=3D"form_content" method=3D"post" onsubmit=3D"return
spn_form_verif(this);" action=3D"traitement.php">
Jusque l=E0 =E7a marche, mais m=EAme s'il y a des erreurs dans mes champs le=
formulaire est envoy=E9 au script de traitement...
Je ne comprend pas d'ou provient l'erreur
J'appel cette fonction sur le onsubmit de mon formulaire avec ceci : <form name="form_content" method="post" onsubmit="return spn_form_verif(this);" action="traitement.php">
Jusque là ça marche, mais même s'il y a des erreurs dans mes champs le formulaire est envoyé au script de traitement... Je ne comprend pas d'ou provient l'erreur
moi non plus, alors plus simple ?
function spn_form_verif(formverif) { formverif = formverif.elements; var spn_err_ctl = true; var spn_err_msg = "Certains champs ne respectent pas les règles de gestion :<br/>"; for(var i=0; i<formverif.length; i++) if(formverif[i].type=='text' && formverif[i].value=='') { spn_err_mesg += '- Le champ : ' + formverif[i].name + ' doit être complété<br/>'; spn_err_ctl = false; formverif[i].style.border = '2px solid red'; } if(!spn_err_ctl) document.getElementById('spn_err_msg').innerHTML = spn_err_msg; return spn_err_ctl; }
J'appel cette fonction sur le onsubmit de mon formulaire avec ceci :
<form name="form_content" method="post" onsubmit="return
spn_form_verif(this);" action="traitement.php">
Jusque là ça marche, mais même s'il y a des erreurs dans mes champs le
formulaire est envoyé au script de traitement...
Je ne comprend pas d'ou provient l'erreur
moi non plus,
alors plus simple ?
function spn_form_verif(formverif) {
formverif = formverif.elements;
var spn_err_ctl = true;
var spn_err_msg = "Certains champs ne respectent pas les règles de
gestion :<br/>";
for(var i=0; i<formverif.length; i++)
if(formverif[i].type=='text' && formverif[i].value=='')
{
spn_err_mesg += '- Le champ : ' + formverif[i].name +
' doit être complété<br/>';
spn_err_ctl = false;
formverif[i].style.border = '2px solid red';
}
if(!spn_err_ctl)
document.getElementById('spn_err_msg').innerHTML = spn_err_msg;
return spn_err_ctl;
}
J'appel cette fonction sur le onsubmit de mon formulaire avec ceci : <form name="form_content" method="post" onsubmit="return spn_form_verif(this);" action="traitement.php">
Jusque là ça marche, mais même s'il y a des erreurs dans mes champs le formulaire est envoyé au script de traitement... Je ne comprend pas d'ou provient l'erreur
moi non plus, alors plus simple ?
function spn_form_verif(formverif) { formverif = formverif.elements; var spn_err_ctl = true; var spn_err_msg = "Certains champs ne respectent pas les règles de gestion :<br/>"; for(var i=0; i<formverif.length; i++) if(formverif[i].type=='text' && formverif[i].value=='') { spn_err_mesg += '- Le champ : ' + formverif[i].name + ' doit être complété<br/>'; spn_err_ctl = false; formverif[i].style.border = '2px solid red'; } if(!spn_err_ctl) document.getElementById('spn_err_msg').innerHTML = spn_err_msg; return spn_err_ctl; }
J'appel cette fonction sur le onsubmit de mon formulaire avec ceci : <form name="form_content" method="post" onsubmit="return spn_form_verif(this);" action="traitement.php">
Jusque là ça marche, mais même s'il y a des erreurs dans mes champ s le formulaire est envoyé au script de traitement... Je ne comprend pas d'ou provient l'erreur
moi non plus, alors plus simple ?
function spn_form_verif(formverif) { formverif = formverif.elements; var spn_err_ctl = true; var spn_err_msg = "Certains champs ne respectent pas les règles de gestion :<br/>"; for(var i=0; i<formverif.length; i++) if(formverif[i].type=='text' && formverif[i].value=='') { spn_err_mesg += '- Le champ : ' + formverif[i].name + ' doit être complété<br/>'; spn_err_ctl = false; formverif[i].style.border = '2px solid red'; } if(!spn_err_ctl) document.getElementById('spn_err_msg').innerHTML = spn_err_msg; return spn_err_ctl;
}
-- sm Merci pour ton script, mais cela ne change rien... le formulaire est
quand même posté à la page de traitement. Par contre si je mets un return false dans chaque test le script s'arrête bien... En fait c'est le test en fin de test qui ne marche pas...
if (formverif.elements['chp2'].value == "") { spn_err_ctl = true; spn_err_msg = spn_err_msg + '<br/>- Le champ "chp2" est obligatoire.'; document.getElementById('chp2').style.border="2px solid red"; return false; }
J'appel cette fonction sur le onsubmit de mon formulaire avec ceci :
<form name="form_content" method="post" onsubmit="return
spn_form_verif(this);" action="traitement.php">
Jusque là ça marche, mais même s'il y a des erreurs dans mes champ s le
formulaire est envoyé au script de traitement...
Je ne comprend pas d'ou provient l'erreur
moi non plus,
alors plus simple ?
function spn_form_verif(formverif) {
formverif = formverif.elements;
var spn_err_ctl = true;
var spn_err_msg = "Certains champs ne respectent pas les règles de
gestion :<br/>";
for(var i=0; i<formverif.length; i++)
if(formverif[i].type=='text' && formverif[i].value=='')
{
spn_err_mesg += '- Le champ : ' + formverif[i].name +
' doit être complété<br/>';
spn_err_ctl = false;
formverif[i].style.border = '2px solid red';
}
if(!spn_err_ctl)
document.getElementById('spn_err_msg').innerHTML = spn_err_msg;
return spn_err_ctl;
}
--
sm
Merci pour ton script, mais cela ne change rien... le formulaire est
quand même posté à la page de traitement.
Par contre si je mets un return false dans chaque test le script
s'arrête bien... En fait c'est le test en fin de test qui ne marche
pas...
if (formverif.elements['chp2'].value == "") {
spn_err_ctl = true;
spn_err_msg = spn_err_msg + '<br/>- Le champ "chp2" est
obligatoire.';
document.getElementById('chp2').style.border="2px solid red";
return false;
}
J'appel cette fonction sur le onsubmit de mon formulaire avec ceci : <form name="form_content" method="post" onsubmit="return spn_form_verif(this);" action="traitement.php">
Jusque là ça marche, mais même s'il y a des erreurs dans mes champ s le formulaire est envoyé au script de traitement... Je ne comprend pas d'ou provient l'erreur
moi non plus, alors plus simple ?
function spn_form_verif(formverif) { formverif = formverif.elements; var spn_err_ctl = true; var spn_err_msg = "Certains champs ne respectent pas les règles de gestion :<br/>"; for(var i=0; i<formverif.length; i++) if(formverif[i].type=='text' && formverif[i].value=='') { spn_err_mesg += '- Le champ : ' + formverif[i].name + ' doit être complété<br/>'; spn_err_ctl = false; formverif[i].style.border = '2px solid red'; } if(!spn_err_ctl) document.getElementById('spn_err_msg').innerHTML = spn_err_msg; return spn_err_ctl;
}
-- sm Merci pour ton script, mais cela ne change rien... le formulaire est
quand même posté à la page de traitement. Par contre si je mets un return false dans chaque test le script s'arrête bien... En fait c'est le test en fin de test qui ne marche pas...
if (formverif.elements['chp2'].value == "") { spn_err_ctl = true; spn_err_msg = spn_err_msg + '<br/>- Le champ "chp2" est obligatoire.'; document.getElementById('chp2').style.border="2px solid red"; return false; }
Il doit y avoir une erreur js quelque part Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est plus pratique
-- ______ Francis (enlever .NIPUBNISOUMIS) "L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" Voltaire
stefen76 avait prétendu :
C'est un mystère...
Il doit y avoir une erreur js quelque part
Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans
ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en
veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est
plus pratique
--
______
Francis (enlever .NIPUBNISOUMIS)
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le
fatigue" Voltaire
Il doit y avoir une erreur js quelque part Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est plus pratique
-- ______ Francis (enlever .NIPUBNISOUMIS) "L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" Voltaire
SAM
Merci pour ton script, mais cela ne change rien... le formulaire est quand même posté à la page de traitement.
ça veut dire qu'il y a une erreur dedans. Tes noms de variables sont un peu compliqués (et certaines doivent être mal orthographiées ?)
Voici monn truc corrigé et testé :
<script type="text/javascript"> function spn_form_verif(formverif) { formverif = formverif.elements; var spn_err_ctl = true; var spn_err_msg = "Certains champs ne respectent pas' + " les règles de gestion :<br/>"; alert(formverif.length); for(var i=0; i<formverif.length; i++) if(formverif[i].type=='text') { formverif[i].style.border = ''; if(formverif[i].value=='') { spn_err_msg += '- Le champ : ' + formverif[i].name + ' doit être complété<br/>'; spn_err_ctl = false; formverif[i].style.border = '2px solid red'; } } if(!spn_err_ctl) document.getElementById('spn_err_msg').innerHTML = spn_err_msg; return spn_err_ctl; } </script>
Par contre si je mets un return false dans chaque test le script s'arrête bien... En fait c'est le test en fin de test qui ne marche pas...
c'est là que serait la coquille ?
-- sm
Merci pour ton script, mais cela ne change rien... le formulaire est
quand même posté à la page de traitement.
ça veut dire qu'il y a une erreur dedans.
Tes noms de variables sont un peu compliqués (et certaines doivent être
mal orthographiées ?)
Voici monn truc corrigé et testé :
<script type="text/javascript">
function spn_form_verif(formverif) {
formverif = formverif.elements;
var spn_err_ctl = true;
var spn_err_msg = "Certains champs ne respectent pas' +
" les règles de gestion :<br/>";
alert(formverif.length);
for(var i=0; i<formverif.length; i++)
if(formverif[i].type=='text') {
formverif[i].style.border = '';
if(formverif[i].value=='')
{
spn_err_msg += '- Le champ : ' + formverif[i].name +
' doit être complété<br/>';
spn_err_ctl = false;
formverif[i].style.border = '2px solid red';
}
}
if(!spn_err_ctl)
document.getElementById('spn_err_msg').innerHTML = spn_err_msg;
return spn_err_ctl;
}
</script>
Par contre si je mets un return false dans chaque test le script
s'arrête bien... En fait c'est le test en fin de test qui ne marche
pas...
Je rencontre un problème pour l'exécution de ce script de validation de mon formulaire,
Quel est le code du formulaire ? -- Mickaël Wolff aka Lupus Michaelis http://lupusmic.org
stefen76
On 19 fév, 14:20, Francis Spiesser wrote:
stefen76 avait prétendu :
C'est un mystère...
Il doit y avoir une erreur js quelque part Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est plus pratique
-- ______ Francis (enlever .NIPUBNISOUMIS) "L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" Voltaire
Merci à tous pour l'aide ça marche avec la solution ci-dessus sous ff et ie.
On 19 fév, 14:20, Francis Spiesser
<fspies...@despixelsetdeshommes.NIPUBNISOUMIS.net> wrote:
stefen76 avait prétendu :
C'est un mystère...
Il doit y avoir une erreur js quelque part
Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans
ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en
veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est
plus pratique
--
______
Francis (enlever .NIPUBNISOUMIS)
"L'homme n'est pas fait pour travailler, la preuve c'est que cela le
fatigue" Voltaire
Merci à tous pour l'aide ça marche avec la solution ci-dessus sous ff
et ie.
Il doit y avoir une erreur js quelque part Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est plus pratique
-- ______ Francis (enlever .NIPUBNISOUMIS) "L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" Voltaire
Merci à tous pour l'aide ça marche avec la solution ci-dessus sous ff et ie.
C'est un mystère... Il doit y avoir une erreur js quelque part
Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est plus pratique
Merci à tous pour l'aide ça marche avec la solution ci-dessus sous ff et ie.
Je ne pense pas que ça puisse "vraiment" fonctionner...
Ça doit être prévu pour regarder dans la console de Fx s'il y a des erreurs JS
Si ça fonctionne sans autre correction c'est encore plus mystérieux.
-- sm
On 19 fév, 14:20, Francis Spiesser
<fspies...@despixelsetdeshommes.NIPUBNISOUMIS.net> wrote:
stefen76 avait prétendu :
C'est un mystère...
Il doit y avoir une erreur js quelque part
Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans
ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en
veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est
plus pratique
Merci à tous pour l'aide ça marche avec la solution ci-dessus sous ff
et ie.
Je ne pense pas que ça puisse "vraiment" fonctionner...
Ça doit être prévu pour regarder dans la console de Fx s'il y a des
erreurs JS
Si ça fonctionne sans autre correction c'est encore plus mystérieux.
C'est un mystère... Il doit y avoir une erreur js quelque part
Au lieu d'affecter ta fonction à un onsubmit, tu mets return false dans ton onsubmit et tu affectes ta fonction au onclick du bouton submit (en veillant à replacer this par this.form).
Ensuite tu essayes avec firefox, parce que pour les erreurs js c'est plus pratique
Merci à tous pour l'aide ça marche avec la solution ci-dessus sous ff et ie.
Je ne pense pas que ça puisse "vraiment" fonctionner...
Ça doit être prévu pour regarder dans la console de Fx s'il y a des erreurs JS
Si ça fonctionne sans autre correction c'est encore plus mystérieux.