Page 1 sur 1
Faire une action sur une image utiliser pour faire SUBMIT
Posté : 14 déc. 2005, 15:25
par budiste
Voilà j'ai un formulaire qu'on valide en cliquant sur image(voir code plus bas), mon problème est que quand je clique sur l'image tout ce passe bien, j'ai voulu effectuer une action au moment du clic car j'ai un script javascript qui me permet de vérifier si le champ est rempli et si l'adresse a une syntaxe correcte. Donc l'action s'effectue a moitié la fenetre de dialogue s'ouvre bien mais ne stoppe l'envoi du formulaire si une condition n'est pas vérifié.
Code : Tout sélectionner
<input type="image" src="images/basespclibouton.gif" onClick="verifmail(document.nouvclient.email.value)">
Posté : 14 déc. 2005, 15:26
par DarkBlue
Hello ,
A mon avis tu devrais mieu poster cote javascript car la je pense pas qu on puisse t aider !

Posté : 14 déc. 2005, 15:31
par budiste
a oui pardon
Posté : 14 déc. 2005, 15:33
par Cyrano
Qu'est-ce que te retourne la fonction verifmail() ?
Posté : 14 déc. 2005, 15:41
par budiste
voila ma fonction :
Code : Tout sélectionner
<script type="text/javascript" language="Javascript" >
<!--
function verifemail()
{
if(document.nouvclient.email.value == "") {
alert("Veuillez entrer votre adresse email svp");
document.inscription.email.focus();
return false;
}
if(document.nouvclient.email.value.indexOf('@') == -1) {
alert("Ce n'est pas une adresse email valide, verifiez la svp");
document.inscription.email.focus();
return false;
}
return true
}
//-->
</script>
Posté : 14 déc. 2005, 15:46
par nicolas
Tu passes un argument à ta fonction lors de l'appel que tu ne récupères pas.
Posté : 14 déc. 2005, 16:00
par Cyrano
Voilà, il faut donc récupérer le retour : modifie comme suit:
Code : Tout sélectionner
<input type="image" src="images/basespclibouton.gif" onClick="return verifmail(document.nouvclient.email.value);">
Ce que ça va faire: récupérer le retour: si le retour est "false", il ne se passera rien, sinon, ton formulaire sera envoyé vers le traitement.
Posté : 14 déc. 2005, 16:05
par mere-teresa
Si j'enlève les if, j'ai return true....donc ta fonction retourne
toujours TRUE.
voila ma fonction :
Code : Tout sélectionner
<script type="text/javascript" language="Javascript" >
<!--
function verifemail()
{
return true
}
//-->
</script>
Posté : 14 déc. 2005, 16:15
par Cyrano
Si j'enlève les if, j'ai return true....donc ta fonction retourne
toujours TRUE.
voila ma fonction :
Code : Tout sélectionner
<script type="text/javascript" language="Javascript" >
<!--
function verifemail()
{
return true
}
//-->
</script>
Ben justement, si on rentre dans un des if, le return met fin à l'exécution de la fonction et renverra false.
Mais on peut assurer le coup autrement:
<script type="text/javascript" language="Javascript" >
<!--
function verifemail()
{
var valide = true;
if(document.nouvclient.email.value == "")
{
alert("Veuillez entrer votre adresse email svp");
document.inscription.email.focus();
valide = false;
}
if(document.nouvclient.email.value.indexOf('@') == -1)
{
alert("Ce n'est pas une adresse email valide, verifiez la svp");
document.inscription.email.focus();
valide = false;
}
return valide;
}
//-->
</script>
Posté : 14 déc. 2005, 16:19
par budiste
bah je ne pense pas que le probleme vienne de ca car j'utilise ce script dans deux autres pages et j'ai aucun problème de fonctionnement
sinon voilà mon code qui ne fonctionne toujours pas :
Code : Tout sélectionner
<form name="nouvclient" method="post" action="index2.php?inscription=nouveau" onSubmit="return verifemail()">
...
<input type="image" src="images/basespclibouton.gif" onClick="return verifMail(document.nouvclient.email.value)">
...
</form>
Posté : 14 déc. 2005, 16:34
par budiste
j'avais oublié de mettre un else dans mon script, mais ca ne change rien :
<script type="text/javascript" language="Javascript" >
<!--
function verifemail()
{
if(document.nouvclient.email.value == "") {
alert("Veuillez entrer votre adresse email svp");
document.inscription.email.focus();
return false;
}
else
if(document.nouvclient.email.value.indexOf('@') == -1) {
alert("Ce n'est pas une adresse email valide, verifiez la svp");
document.inscription.email.focus();
return false;
}
return true
}
//-->
</script>
Posté : 14 déc. 2005, 16:42
par Cyrano
Si tu mets onsubmit dans ta balise <form>, le onclick dans ton bouton devient inutile. En revanche, ton fonction atend un certain nombre de paramètres non ?
Posté : 14 déc. 2005, 16:54
par budiste
j'ai essayé mais ca ne marche pas
Posté : 14 déc. 2005, 16:57
par sadeq
Tu as mal écrit le nom de ta fonction dans le onClick dans le bouton image et d'ailleurs ce n'est pas nécéssaire si tu utilise un onsubmit dans form.
En plus, une erreur de copie/coller dans les lignes .focus : le champ email appartient à nouvclient et non à inscription.
Rappel: un bouton de type image joue le rôle d'un bouton submit.
Correction:
Code : Tout sélectionner
<script type="text/javascript" language="Javascript" >
<!--
function verifemail()
{
if(document.nouvclient.email.value == "") {
alert("Veuillez entrer votre adresse email svp");
document.nouvclient.email.focus();
return false;
}
else
if (document.nouvclient.email.value.indexOf('@') == -1) {
alert("Ce n'est pas une adresse email valide, verifiez la svp");
document.nouvclient.email.focus();
return false;
}
return true;
}
//-->
</script>
<form name="nouvclient" method="post" action="index2.php?inscription=nouveau" onSubmit="return verifemail();">
...
<input type="image" src="images/basespclibouton.gif">
...
</form>
Posté : 14 déc. 2005, 17:17
par budiste
exact erreur stupide, pas assez concentré
merci beaucoup a tous en tout cas