Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Valider tous les champs d'un formulaire sans id et sans name

3 réponses
Avatar
steph
Bonjour,

Tout est dans le titre !

D'habitude je valide mes formulaires en utilisant une fonction de ce
genre :=20
function valid() {
if (document.getElementById('MonId').value=3D'') {
window.alert("Vous devez remplir le champ...");
return false;
}
return true;
}

L=C3=A0 j'aurais besoin de valider que tous les champs text d'un formulaire
sont remplis sans connaitre ni l'id des champs ni leur noms. Le
formulaire est dynamique et peut contenir une ribambelle d'input du
genre : <input type=3D"text" name=3D"quoi[]"> ou quoi[] peut-=C3=AAtre remp=
lac=C3=A9
par des dizaines de noms diff=C3=A9rents.
Il faut seulement que tous les champs soient remplis, je v=C3=A9rifies
apr=C3=A8s la justesse de la valeur des champs =C3=A0 l'aide de php.

Par avance merci.

Steph. K

3 réponses

Avatar
Olivier Miakinen
Le 16/07/2010 16:41, steph a écrit :

Là j'aurais besoin de valider que tous les champs text d'un formulaire
sont remplis sans connaitre ni l'id des champs ni leur noms. Le
formulaire est dynamique et peut contenir une ribambelle d'input du
genre : <input type="text" name="quoi[]"> ou quoi[] peut-être remplacé
par des dizaines de noms différents.
Il faut seulement que tous les champs soient remplis, je vérifies
après la justesse de la valeur des champs à l'aide de php.



Est-ce que document.getElementsByTagName("input") ne ferait pas ce que
tu souhaites ?

http://fr.selfhtml.org/javascript/objets/document.htm#get_elements_by_tag_name

--
Olivier Miakinen
Avatar
steph
Le Fri, 16 Jul 2010 17:17:52 +0200,
Olivier Miakinen <om+ a écrit :

Est-ce que document.getElementsByTagName("input") ne ferait pas ce que
tu souhaites ?



En théorie oui, en pratique ce que j'ai pondu ne vérifie que le
premier input.

<script type="text/javascript">
<!--
function valid() {
x=document.getElementsByTagName("input");
for (i=0;i<x.length;i++)
{
if (document.getElementsByTagName('input')[i].value.length < 1) {
window.alert("Vous devez remplir tous les champs.");
return false;
}
return true;
}
}
-->
</script>

Merci de ton aide.

--
Steph. K
Avatar
steph
Le Fri, 16 Jul 2010 20:52:26 +0200,
Pascal a écrit :

C'est bon, cela fonctionne avec le code ci-dessous. Le return true
était mal placé.

<script type="text/javascript">
<!--
function valid() {
var x=document.getElementsByTagName("input");
for (i=0;i<x.length;i++)
{
if (x[i].value.length == 0) {
window.alert("Vous devez remplir tous les champs.");
return false;
}
}
return true;
}
-->
</script>

Merci,

--
Steph. K