Vérification en javascript d'un tableau dynamique en PHP [Résolu] - HTML/CSS - Programmation
Marsh Posté le 05-12-2006 à 10:00:59
Laisse tomber les document.form.bidule qui n'existent plus. En mettant un id sur le form déjà (name n'existe plus et sert à rien), et en mettant le Js sur l'évènement onsubmit :
Code :
|
Met le JS dans un fichier à part, il pourra être mis en cache et allégera le serveur un p'tit peu
Code :
|
Marsh Posté le 05-12-2006 à 11:42:44
Perso j'utilise le "this" que je trouve encore plus pratique, mais sur lequel je ne vais pas débattre de la performance, car je ne la connais pas
Code :
|
Cependant, j'utilisais le "this" avec uniquement des appels fixes aux champs du formulaire concerné :
Code :
|
Je n'ai jamais essayé la combinaison avec le -superbe- getElementsByTagName que propose FlorentG ici. Peut-être que cette solution fonctionne aussi :
Code :
|
mais bon ça ne change pas grand chose...
Marsh Posté le 05-12-2006 à 12:00:45
le this pointe exactement sur le même élement que ce que retourne le getElementById('idDuForm'), en l'occurence l'objet HTMLFormElement.
ça ne change donc rien du tout sauf un appel à la fonction getElementById en mois et eventuellement une ré-usabilité supérieure de la fonction pour d'autres formulaires.
Marsh Posté le 05-12-2006 à 09:50:43
Bonjour,
Voici ma configuration, je possede deux pages :
la premiere qui contient uniquement un champ de texte pour inserer le nombre de ligne que désire avoir l'utilisateur
Puis une seconde qui crée dynamique un tableau avec 2 colonne et n lignes (selon la valeur que l'utlisateur a inseré dans la page précédente l'utilisateur)
En fait ce que j'aimerais faire maintenant c'est lors de l'appui sur le bouton envoyer de vérifier par javascript si l'ensemble des cases sont remplies.
J'ai donc fait une petite fonction en javascript que j'appel lorsque je clique sur envoyer
Le probleme avec le javascript est qu'il faut le nom de la case or dans mon cas mes cases se nomme num0, num1...
Or pour verifier il faut ecrire document.form1.nom0.value == ""
j'aimerais donc pouvoir remplacer nom0 par quelque chose comme nom.i afin de rentré cela dans une boucle et faire une vérification avec une boucle uniquement comme ceci :
var test = 0;
for (i=0;i<nbr;i++){
if(document.form1.nom(i).value == "" )
{
document.form1.nom(i).style.background = "red";
document.form1.nom(i).focus();
test ++;
}
else document.form1.nom(i).style.background = "white";
if (test > 0) return false;
else return true;
}
Est ce possible ?
Ou avez vous une autre solution ?
Merci de votre aide !
Johnson
Message édité par johnson951 le 06-12-2006 à 15:18:44