OVH Cloud OVH Cloud

probleme onclick et fonction JS

4 réponses
Avatar
Logone
Salut,

J'ai besoin de valider des champs de formulaire sur un evenement onclick
(c'est important)

voici mon code

J'ai avance un peu mais cela ne marche toujours pas il semble qu'en mettant
un return false dans le onclick ca corrige mon probleme mais ne fonctionne
pas chez moi

voici le code

function verif()
{
var chaine_erreur ="";
if(window.document.form1.idpays.value == "0")
{
chaine_erreur +="Pays est obligatoire !\n";
}
if(window.document.form1.iddep.value == "0")
{
chaine_erreur +="Département est obligatoire !\n";
}
else if (window.document.form1.iddep.selectedIndex > 3)
{
chaine_erreur +="Vous ne pouvez pas sélectionner plus de 3 départements
!\n";
}

if (chaine_erreur == "")
{
return true;
} else {
chaine_erreur = "Erreur(s) :\n" + chaine_erreur;
alerte(chaine_erreur);
return false;
}
}

<input type="image" name="imageField" src="continuer.gif"
onClick="this.form.action='search2bis.php';verif();return
false;this.form.method='post'">


Merci pour votre aide

4 réponses

Avatar
Pierre Goiffon
Logone wrote:
J'ai besoin de valider des champs de formulaire sur un evenement onclick
(c'est important)


Un formulaire doit plutôt être validé par l'événement onSubmit sur la
balise form, non ?

Avatar
ASM
Logone wrote:
J'ai besoin de valider des champs de formulaire sur un evenement
onclick (c'est important)


Un formulaire doit plutôt être validé par l'événement onSubmit sur la
balise form, non ?


mais d'une manière ou de l'autre ça ne va pas lui résoudre son
select-multiple ...

--
Stephane Moriaux et son [moins] vieux Mac


Avatar
ASM
Salut,

J'ai besoin de valider des champs de formulaire sur un evenement onclick
(c'est important)

voici mon code

J'ai avance un peu mais cela ne marche toujours pas il semble qu'en mettant
un return false dans le onclick ca corrige mon probleme mais ne fonctionne
pas chez moi

voici le code

function verif()
{
var chaine_erreur ="";
if(window.document.form1.idpays.value == "0")
{
chaine_erreur +="Pays est obligatoire !n";
}
if(window.document.form1.iddep.value == "0")
{
chaine_erreur +="Département est obligatoire !n";
}
else if (window.document.form1.iddep.selectedIndex > 3)


Ceci veut dire que si on sélectionne un des options après le 4ième
on fait une erreur ... !
Ça ne s'adresse pas au nombre d'options sélectionnés, mais à l'index du
1er option sélectionné (les sélectionnés suivants sont ignorés).

else {
var nbr = 0;
var s = document.form1.iddep;
for(var i=0;i<s.length;i++)
if(s.[i].selected) nbr++;
if(nbr==0)
chaine_erreur +="faire un choix au moins';
if(nbr>3)
chaine_erreur + "Vous ne pouvez pas sélectionner plus de 3 départements!n";
}

{
chaine_erreur +="Vous ne pouvez pas sélectionner plus de 3 départements
!n";
}

if (chaine_erreur == "")
{
return true;
} else {
chaine_erreur = "Erreur(s) :n" + chaine_erreur;
alerte(chaine_erreur);
return false;
}
}

<input type="image" name="imageField" src="continuer.gif"
onClick="this.form.action='search2bis.php';verif();return
false;this.form.method='post'">


préférer se servir du onsubmit du form

<form name="form1" action="erreur.php"
onsubmit="this.action='search2bis.php'; this.method='post';
return verif();">


--
Stephane Moriaux et son [moins] vieux Mac

Avatar
Selgan
Une faute de frappe s'est également glissée dans le script
alerte(chaine_erreur);
il faut écrire



alert(chaine_erreur);
Pour le reste dans un contexte semblable j'utilise l'évenement onBlur
qui mer permet de vérifier au cours de la saisie, et j'utilise la
fonction focus() pour placer l'attention sur le champ à corriger
ex :
document.form1.idpays.focus();
Espérant avoir été utile;
Cordialement
Claude


ASM wrote:
Salut,

J'ai besoin de valider des champs de formulaire sur un evenement onclick
(c'est important)

voici mon code

J'ai avance un peu mais cela ne marche toujours pas il semble qu'en met tant
un return false dans le onclick ca corrige mon probleme mais ne fonctio nne
pas chez moi

voici le code

function verif()
{
var chaine_erreur ="";
if(window.document.form1.idpays.value == "0")
{
chaine_erreur +="Pays est obligatoire !n";
}
if(window.document.form1.iddep.value == "0")
{
chaine_erreur +="Département est obligatoire !n";
}
else if (window.document.form1.iddep.selectedIndex > 3)


Ceci veut dire que si on sélectionne un des options après le 4ième
on fait une erreur ... !
Ça ne s'adresse pas au nombre d'options sélectionnés, mais à l'in dex du
1er option sélectionné (les sélectionnés suivants sont ignorés).

else {
var nbr = 0;
var s = document.form1.iddep;
for(var i=0;i<s.length;i++)
if(s.[i].selected) nbr++;
if(nbr==0)
chaine_erreur +="faire un choix au moins';
if(nbr>3)
chaine_erreur +=
"Vous ne pouvez pas sélectionner plus de 3 départements!n";
}

{
chaine_erreur +="Vous ne pouvez pas sélectionner plus de 3 départ ements
!n";
}

if (chaine_erreur == "")
{
return true;
} else {
chaine_erreur = "Erreur(s) :n" + chaine_erreur;
alerte(chaine_erreur);
return false;
}
}

<input type="image" name="imageField" src="continuer.gif"
onClick="this.form.action='search2bis.php';verif();return
false;this.form.method='post'">


préférer se servir du onsubmit du form

<form name="form1" action="erreur.php"
onsubmit="this.action='search2bis.php'; this.method='post';
return verif();">


--
Stephane Moriaux et son [moins] vieux Mac