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

Le
steph
Bonjour,

Tout est dans le titre !

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

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 remp=
lacé
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.

Par avance merci.

Steph. K
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
Olivier Miakinen
Le #22363441
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
steph
Le #22364081
Le Fri, 16 Jul 2010 17:17:52 +0200,
Olivier Miakinen
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
steph
Le #22364321
Le Fri, 16 Jul 2010 20:52:26 +0200,
Pascal
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
Publicité
Poster une réponse
Anonyme