Un dernier Hic sur un contrôle de saisie

Le
Le Retour
Bonsoir à tous,

Je vais en pleurer mes yeux à force de scruter l'écran en quête de solution.
Alors voilà le problème:

J'ai mis en place un contrôle de saisie de validité d'email qui fonctionne
lorsque je clique sur le bouton "envoyer", mais non lorsque j'appuie sur la
touche entrée du clavier (les alertes apparaissent, mais c'est quand même la
page de traitement qui s'ouvre ensuite). Aussi je cherche, soit à
neutraliser la touche entrée, soit à faire fonctionner le contrôle de saisie
également lorsqu'on appuie sur cette touche; bien sûr je n'y arrive pas.
Alors si vous avez une idée à me donner, je vous en remercie d'avance.

Voici le script:
<script type="text/javascript">
function verifForm() {
if (document.getElementById('email').value == "" ) {
alert("Vous n'avez pas indiqué votre adresse!");

return false;
}

mail=document.getElementById('email').value;
if ((mail.indexOf("@")>=0)&&(mail.indexOf(".")>=0)) {
return true
} else {
alert("Vous n'avez pas correctement saisi votre adresse!");

return false
}

document.getElementById("fo" ).onsubmit();
}

</script>,

et dans le body:

<FORM action="traitementmail.php" method="POST" id="fo"
Onsubmit="verifForm()">
<P CLASS=pr><INPUT TYPE="text" NAME="email" id="email"
SIZE@><INPUT TYPE="button" NAME="submit"
VALUE="envoyer" SIZE Onclick="verifForm()"></P></FORM>

Bien cordialement,


Thierry
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
SAM
Le #768418
Bonsoir à tous,

Je vais en pleurer mes yeux à force de scruter l'écran en quête de solution.
Alors voilà le problème:


ben ... déjà tu emploies 2 fois la fonction
- onsubmit du form
- bouton submit

ensuite le onsubmit du form est incomplet

alors, le corrigé :

<FORM action="traitementmail.php" method="POST" id="fo" name="truc"
onsubmit="return verifForm()">
<P CLASS=pr>Votre adresse e-mail :
<INPUT TYPE="text" NAME="email" id="e_mail" SIZE@>
<INPUT TYPE="submit" VALUE=" envoyer ">
</P>
</FORM>


et pour le script :

<script type="text/javascript">
function verifForm() {
var mail = document.getElementById('e_mail').value;
// ou :
// var mail = document.truc.email.value;
if (mail == "") {
alert("Vous n'avez pas indiqué votre adresse!");
return false;
}
if ( (mail.indexOf("@")<0) || (mail.indexOf(".")<0) ) {
alert("Ce n'est pas une adresse valide!");
return false;
}
return true; // la fonction doit renvoyer true pour permettre l'envoi
}
</script>


Attention aux ' (apostrophe) dans le code JS
à transformer en ' pour ne pas être interprété (on escape le caractère)

--
sm

Le Retour
Le #768168
Hé oui, vu comme ça...
Grand merci pour ces corrections;
cordialement,

Thierry


"SAM" de news:471aba5c$0$5093$
Bonsoir à tous,

Je vais en pleurer mes yeux à force de scruter l'écran en quête de
solution.


Alors voilà le problème:


ben ... déjà tu emploies 2 fois la fonction
- onsubmit du form
- bouton submit

ensuite le onsubmit du form est incomplet

alors, le corrigé :

<FORM action="traitementmail.php" method="POST" id="fo" name="truc"
onsubmit="return verifForm()">
<P CLASS=pr>Votre adresse e-mail :
<INPUT TYPE="text" NAME="email" id="e_mail" SIZE@>
<INPUT TYPE="submit" VALUE=" envoyer ">
</P>
</FORM>


et pour le script :

<script type="text/javascript">
function verifForm() {
var mail = document.getElementById('e_mail').value;
// ou :
// var mail = document.truc.email.value;
if (mail == "") {
alert("Vous n'avez pas indiqué votre adresse!");
return false;
}
if ( (mail.indexOf("@")<0) || (mail.indexOf(".")<0) ) {
alert("Ce n'est pas une adresse valide!");
return false;
}
return true; // la fonction doit renvoyer true pour permettre l'envoi
}
</script>


Attention aux ' (apostrophe) dans le code JS
à transformer en ' pour ne pas être interprété (on escape le caractère)

--
sm



SAM
Le #768167
Hé oui, vu comme ça...


cependant ta façon de faire aurait pu fonctionner,
ce n'est pas :
monForm.onsubmit();
mais
monForm.submit();
qu'il faut


<html>
<script type="text/javascript">
function verifForm() {
var mail = document.getElementById('e_mail').value;
if (mail == "") {
alert("Vous n'avez pas indiqué votre adresse!");
return false;
}
if ( (mail.indexOf("@")<0) || (mail.indexOf(".")<0) ) {
alert("Ce n'est pas une adresse valide!");
return false;
}
document.getElementById('fo').submit();
}
</script>
<FORM action="traitementmail.php;" method="POST" id="fo"
onsubmit="return verifForm()">
<P CLASS=pr>Votre adresse e-mail :
<INPUT TYPE="text" NAME="email" id="e_mail" SIZE@>
<INPUT TYPE="button" onclick="verifForm();" VALUE=" envoyer ">
</P>
</FORM>
</html>


--
sm

Publicité
Poster une réponse
Anonyme