OVH Cloud OVH Cloud

Validation sur select

4 réponses
Avatar
xpatval
Bonjour bonjour,

Ce problème m'amène à vous poser la question suivante:

Comment est-il possible de valider un qlqconque choix sur un select (à
savoir, si oui ou non il y a eu "clic" sur l'un des choix proposés par le
select) ?

J'ai ceci dans mon <form>:
<form id="formu" name="formu" action="<?php echo $PHP_SELF ;?>" method=post
onSubmit="return validateForm(this)">

je teste dans le script js concerné les valeurs des <input>.
Comment parvenir à le faire pour <select><option> ?

Ah, je suis franchement novice en JS !!

Merci

xpatval

--
xpatval@(oo)wanadoo.fr [Oter le (oo) dans l'adresse]
-----
http://24lemans.free.fr
-----

4 réponses

Avatar

Bonjour bonjour,

Ce problème m'amène à vous poser la question suivante:

Comment est-il possible de valider un qlqconque choix sur un select (à
savoir, si oui ou non il y a eu "clic" sur l'un des choix proposés par le
select) ?

J'ai ceci dans mon <form>:
<form id="formu" name="formu" action="<?php echo $PHP_SELF ;?>" method=post
onSubmit="return validateForm(this)">

je teste dans le script js concerné les valeurs des <input>.
Comment parvenir à le faire pour <select><option> ?

Ah, je suis franchement novice en JS !!


à mon idée, puisque tu traites le formulaire par retour de lui-même
vie PHP
pas besoin de JS

le formulaire te revient avec la bonne option choisie
ne reste plus qu'à réagir via PHP suivant le choix validé

<select name="truc">
<option value="1">choix 1
<option value="2">choix 2
<option value="3">choix 3
</select<
<?php
if($truc = 1) faire ceci
else
if($truc = 2) faire cela
else
faire autre chose
php?>



--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************

Avatar
xpatval
--
xpatval@(oo)wanadoo.fr [Oter le (oo) dans l'adresse]
-----
http://24lemans.free.fr
-----
"@SM" a supputé dans le message de
news:

Comment est-il possible de valider un qlqconque choix sur un select (à
savoir, si oui ou non il y a eu "clic" sur l'un des choix proposés par
le


select) ?

J'ai ceci dans mon <form>:
<form id="formu" name="formu" action="<?php echo $PHP_SELF ;?>"
method=post


onSubmit="return validateForm(this)">

je teste dans le script js concerné les valeurs des <input>.
Comment parvenir à le faire pour <select><option> ?


à mon idée, puisque tu traites le formulaire par retour de lui-même
vie PHP
pas besoin de JS


Certe, pour sur, il est. Mais le choix opté est le suivant:

Validation par JS des zones de saisie et des choix de select de formulaires,
dans un premier temps, afin d'éviter un aller/retour client/serveur d'une
part, et pour obliger, dans un deuxième temps, la saisie et le choix sur le
select par l'utilisateur.

Ensuite, une fois validé via JS, il y a une validation php, notamment pour
les chaînes de caractères, le e-mail, etc etc.

Donc, ma question reste entière.
De plus, cela me permettra de connaître cette astuce.

xpatval


Avatar

"@SM" a supputé dans le message de
news:

à mon idée, puisque tu traites le formulaire par retour de lui-même
via PHP
pas besoin de JS


Certe, pour sur, il est. Mais le choix opté est le suivant:

Validation par JS des zones de saisie et des choix de select de formulaires,
dans un premier temps, afin d'éviter un aller/retour client/serveur
Donc, ma question reste entière.
De plus, cela me permettra de connaître cette astuce.


Une astuce ?
il peut en exister plusieurs ...

exemple :

<html>
<script type="text/javascript"><!--
function valid(ceform) {
var okúlse;
if(ceform.selecteur1.selectedIndex==0)
go(ceform.selecteur1,'Choix Fruits');
else
if(ceform.selecteur2.selectedIndex==0)
go(ceform.selecteur2,'Quantité Fruits');
else
ok=true
return ok;
}
function go(lieu,quoi) {
alert('Veuillez compléter : '+quoi);
lieu.focus();
}
// --></script>
<form id="formu" name="formu" action="<?php echo $PHP_SELF ;?>"
onSubmit="return valid(this)" method=post>
<select id="selecteur1" name="selecteur1">
<option selected>Choix fruits
<option value="Citrons">Citrons
<option value="Oranges">Oranges
<option value="Pommes">Pommes
</select>
<div style="height:500px;"></div>
<select id="selecteur2" name="selecteur2">
<option selected>Quantité fruits
<option value="1">1 kg
<option value="2">2 kg
<option value="50">50 kg
</select>
<div style="height:500px;"></div>
<input type=submit value=GO>
</form>
</html>


--
******** (enlever/remove [OTER_MOI] du/from reply url) *******
Stéphane MORIAUX : mailto:
Aide aux Pages Perso (images & couleurs, formulaire, CHP, JS)
http://perso.wanadoo.fr/stephane.moriaux/internet/
**************************************************************


Avatar
xpatval
D'accord, mais comment ajouter cela à ce que j'avais avant, car ça merdoie
sérieusement...

J'ai cela, qui fonctionne très bien:

function validateForm(form)
{
if (isNotEmpty(form.titre)) {
if (isNotEmpty(form.annee)) {
if (isNumber(form.annee)) {
if (isLen4(form.annee)) {
if (isNotEmpty(form.ordre)) {
if (isNumber(form.ordre)) {
if (isLen6(form.ordre)) {
return true;
}
}
}
}
}
}
}
return false;
}

avec les fonctions qui vont avec.
Comment dois-je rajouter ce que tu m'as indiquer ?

var okúlse;
if(form.select1.selectedIndex==0)
go(form.select1,'Thème');
else
if(form.select2.selectedIndex==0)
go(form.select2,'Matériaux');
else
ok=true
return ok;
}
et la fonction qui va avec...

Merci,

xpatval

--
xpatval@(oo)wanadoo.fr [Oter le (oo) dans l'adresse]
-----
http://24lemans.free.fr