Bonjour,
j'ai dans un formulaire de multiples cases à cocher créées dynamiquement
avec PHP.
J'ai donc un id "tableau[]" dans la construction des champs.
Je voudrais limiter le nombre maximum de coches à 3 au moment de la
validation en javascript,
mais je ne sais pas comment accéder à ces champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que getElementById("")
pour des tableaux.
Peut être qu'un multiselect serait plus facile à gérer.
Bonjour,
j'ai dans un formulaire de multiples cases à cocher créées dynamiquement
avec PHP.
J'ai donc un id "tableau[]" dans la construction des champs.
Je voudrais limiter le nombre maximum de coches à 3 au moment de la
validation en javascript,
mais je ne sais pas comment accéder à ces champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que getElementById("")
pour des tableaux.
Peut être qu'un multiselect serait plus facile à gérer.
Bonjour,
j'ai dans un formulaire de multiples cases à cocher créées dynamiquement
avec PHP.
J'ai donc un id "tableau[]" dans la construction des champs.
Je voudrais limiter le nombre maximum de coches à 3 au moment de la
validation en javascript,
mais je ne sais pas comment accéder à ces champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que getElementById("")
pour des tableaux.
Peut être qu'un multiselect serait plus facile à gérer.
Bonjour,
J'ai donc un id "tableau[]" dans la construction des champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que getElementById("")
pour des tableaux.
Bonjour,
J'ai donc un id "tableau[]" dans la construction des champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que getElementById("")
pour des tableaux.
Bonjour,
J'ai donc un id "tableau[]" dans la construction des champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que getElementById("")
pour des tableaux.
Le 04/02/2011 08:14, J-F Portala a écrit :Bonjour,
Bonjour,J'ai donc un id "tableau[]" dans la construction des champs.
Attention, un identifiant commun à plusieurs balises, INPUT en
l'occurrence, ne doit pas être dans l'attribut ID mais NAME.
Par contre, il existe 'getElementsByName'
comme le suggère SAM, il
est peut-être plus simple de passer par le DOM-0, avec :
- document.forms[name] pour accéder au formulaire ;
- document.forms[name].elements[name] pour accéder à un champ.
Le 04/02/2011 08:14, J-F Portala a écrit :
Bonjour,
Bonjour,
J'ai donc un id "tableau[]" dans la construction des champs.
Attention, un identifiant commun à plusieurs balises, INPUT en
l'occurrence, ne doit pas être dans l'attribut ID mais NAME.
Par contre, il existe 'getElementsByName'
comme le suggère SAM, il
est peut-être plus simple de passer par le DOM-0, avec :
- document.forms[name] pour accéder au formulaire ;
- document.forms[name].elements[name] pour accéder à un champ.
Le 04/02/2011 08:14, J-F Portala a écrit :Bonjour,
Bonjour,J'ai donc un id "tableau[]" dans la construction des champs.
Attention, un identifiant commun à plusieurs balises, INPUT en
l'occurrence, ne doit pas être dans l'attribut ID mais NAME.
Par contre, il existe 'getElementsByName'
comme le suggère SAM, il
est peut-être plus simple de passer par le DOM-0, avec :
- document.forms[name] pour accéder au formulaire ;
- document.forms[name].elements[name] pour accéder à un champ.
Le 04/02/11 08:14, J-F Portala a écrit :Bonjour,
j'ai dans un formulaire de multiples cases à cocher créées dynamiquement
avec PHP.
J'ai donc un id "tableau[]" dans la construction des champs.
Je voudrais limiter le nombre maximum de coches à 3 au moment de la
validation en javascript,
mais je ne sais pas comment accéder à ces champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que
getElementById("")
pour des tableaux.
pour un formulaire on évite d'utiliser les trucs DOM ...Peut être qu'un multiselect serait plus facile à gérer.
Non, pas plus.
var f = document.forms['nom_du_form']; // ou autre système
var t = f['tableau[]'],
n = f.length,
c = 0;
if(typeof n != 'undefined')
for(var i=0; i<n; i++)
if(t[i].checked) {
c++;
t[i].checked = c<4;
}
--
Stéphane Moriaux avec/with iMac-intel
Le 04/02/11 08:14, J-F Portala a écrit :
Bonjour,
j'ai dans un formulaire de multiples cases à cocher créées dynamiquement
avec PHP.
J'ai donc un id "tableau[]" dans la construction des champs.
Je voudrais limiter le nombre maximum de coches à 3 au moment de la
validation en javascript,
mais je ne sais pas comment accéder à ces champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que
getElementById("")
pour des tableaux.
pour un formulaire on évite d'utiliser les trucs DOM ...
Peut être qu'un multiselect serait plus facile à gérer.
Non, pas plus.
var f = document.forms['nom_du_form']; // ou autre système
var t = f['tableau[]'],
n = f.length,
c = 0;
if(typeof n != 'undefined')
for(var i=0; i<n; i++)
if(t[i].checked) {
c++;
t[i].checked = c<4;
}
--
Stéphane Moriaux avec/with iMac-intel
Le 04/02/11 08:14, J-F Portala a écrit :Bonjour,
j'ai dans un formulaire de multiples cases à cocher créées dynamiquement
avec PHP.
J'ai donc un id "tableau[]" dans la construction des champs.
Je voudrais limiter le nombre maximum de coches à 3 au moment de la
validation en javascript,
mais je ne sais pas comment accéder à ces champs.
Quelle est la syntaxe ou y a t il d'autres fonctions que
getElementById("")
pour des tableaux.
pour un formulaire on évite d'utiliser les trucs DOM ...Peut être qu'un multiselect serait plus facile à gérer.
Non, pas plus.
var f = document.forms['nom_du_form']; // ou autre système
var t = f['tableau[]'],
n = f.length,
c = 0;
if(typeof n != 'undefined')
for(var i=0; i<n; i++)
if(t[i].checked) {
c++;
t[i].checked = c<4;
}
--
Stéphane Moriaux avec/with iMac-intel
J'avais aussi une question un peu plus générale sur la validation des
formulaires. Je vois 3 solutions:
- utiliser javascript directement en saisie (en filtrant certaines touches)
et en validation de formulaire avant l'envoi
- tout envoyer au serveur et valider en PHP (plus simple mais moins réactif)
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
J'avais aussi une question un peu plus générale sur la validation des
formulaires. Je vois 3 solutions:
- utiliser javascript directement en saisie (en filtrant certaines touches)
et en validation de formulaire avant l'envoi
- tout envoyer au serveur et valider en PHP (plus simple mais moins réactif)
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
J'avais aussi une question un peu plus générale sur la validation des
formulaires. Je vois 3 solutions:
- utiliser javascript directement en saisie (en filtrant certaines touches)
et en validation de formulaire avant l'envoi
- tout envoyer au serveur et valider en PHP (plus simple mais moins réactif)
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
Bonjour et merci de ton aide rapide.
Cela fonctionne sans probleme. Il y avait juste n qui devait être égal à
t.length au lieu de f.length.
Pourrais tu me dire pourquoi il faut éviter d'utiliser les "trucs DOM" dans
les formulaires?
J'avais aussi une question un peu plus générale sur la validation des
formulaires. Je vois 3 solutions:
- utiliser javascript directement en saisie (en filtrant certaines touches)
et en validation de formulaire avant l'envoi
- tout envoyer au serveur et valider en PHP (plus simple mais moins réactif)
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
C'est peut être mon manque de pratique de javascript qui fait que je serais
tenté de valider en PHP.
Bonjour et merci de ton aide rapide.
Cela fonctionne sans probleme. Il y avait juste n qui devait être égal à
t.length au lieu de f.length.
Pourrais tu me dire pourquoi il faut éviter d'utiliser les "trucs DOM" dans
les formulaires?
J'avais aussi une question un peu plus générale sur la validation des
formulaires. Je vois 3 solutions:
- utiliser javascript directement en saisie (en filtrant certaines touches)
et en validation de formulaire avant l'envoi
- tout envoyer au serveur et valider en PHP (plus simple mais moins réactif)
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
C'est peut être mon manque de pratique de javascript qui fait que je serais
tenté de valider en PHP.
Bonjour et merci de ton aide rapide.
Cela fonctionne sans probleme. Il y avait juste n qui devait être égal à
t.length au lieu de f.length.
Pourrais tu me dire pourquoi il faut éviter d'utiliser les "trucs DOM" dans
les formulaires?
J'avais aussi une question un peu plus générale sur la validation des
formulaires. Je vois 3 solutions:
- utiliser javascript directement en saisie (en filtrant certaines touches)
et en validation de formulaire avant l'envoi
- tout envoyer au serveur et valider en PHP (plus simple mais moins réactif)
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
C'est peut être mon manque de pratique de javascript qui fait que je serais
tenté de valider en PHP.
parce que :
- 1) l'arbre des forms existe
- 3) qques "dynamismes" (ajout d'event JS) y fonctionnent mieux
pour retrouver les bébés (IE principalement, mais pas que)
- 6) que de toute la manière on a le droit qu'à un seul même ID
donc pas possible d'avoir 2 checkbox avec même ID (tableau[])
(même si des codeurs irréfléchis en php s'en moquent)
Non, on valide via JS à l'envoi *ET* on re-valide en PHP
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
intérêt moyen - surcharge du serveur et de sa base de donnée, non ? -
(sauf si le form fait 50 champs et 30 selects et x.mille boutons radio)
D'autant que ... finalement, à la réflexion ... non, le client ne veut
pas valider ... alors à quoi ça a servi d'encombrer le serveur ?
(si ce n'est, illégalement, recueillir des données sur les visiteurs)
- le JS est sur le poste du visiteur, il peut fonctionner très mal
et, en plus, il peut-être arrêté.
parce que :
- 1) l'arbre des forms existe
- 3) qques "dynamismes" (ajout d'event JS) y fonctionnent mieux
pour retrouver les bébés (IE principalement, mais pas que)
- 6) que de toute la manière on a le droit qu'à un seul même ID
donc pas possible d'avoir 2 checkbox avec même ID (tableau[])
(même si des codeurs irréfléchis en php s'en moquent)
Non, on valide via JS à l'envoi *ET* on re-valide en PHP
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
intérêt moyen - surcharge du serveur et de sa base de donnée, non ? -
(sauf si le form fait 50 champs et 30 selects et x.mille boutons radio)
D'autant que ... finalement, à la réflexion ... non, le client ne veut
pas valider ... alors à quoi ça a servi d'encombrer le serveur ?
(si ce n'est, illégalement, recueillir des données sur les visiteurs)
- le JS est sur le poste du visiteur, il peut fonctionner très mal
et, en plus, il peut-être arrêté.
parce que :
- 1) l'arbre des forms existe
- 3) qques "dynamismes" (ajout d'event JS) y fonctionnent mieux
pour retrouver les bébés (IE principalement, mais pas que)
- 6) que de toute la manière on a le droit qu'à un seul même ID
donc pas possible d'avoir 2 checkbox avec même ID (tableau[])
(même si des codeurs irréfléchis en php s'en moquent)
Non, on valide via JS à l'envoi *ET* on re-valide en PHP
- utiliser ajax pour envoyer les champs au serveur pour validation sans
recharger la page
intérêt moyen - surcharge du serveur et de sa base de donnée, non ? -
(sauf si le form fait 50 champs et 30 selects et x.mille boutons radio)
D'autant que ... finalement, à la réflexion ... non, le client ne veut
pas valider ... alors à quoi ça a servi d'encombrer le serveur ?
(si ce n'est, illégalement, recueillir des données sur les visiteurs)
- le JS est sur le poste du visiteur, il peut fonctionner très mal
et, en plus, il peut-être arrêté.