OVH Cloud OVH Cloud

Formulaire dans un formulaire

4 réponses
Avatar
fpriola
Bonjour,


J'ai deux formulaires imbriqu=E9s.


<form name=3D"formulaireTOTO" id=3D"formulaireTOTO" ...>

<form name=3D"formulaireTATA" id=3D"formulaireTATA" ...>

<input type=3D"button" value=3D"test" onclick=3D"alert(
document.getElementById('formulaireTOTO' ) );">
<input type=3D"button" value=3D"test" onclick=3D"alert(
document.getElementById('formulaireTATA' ) );">

</form>

</form>


Comment acc=E9der au second formulaire ?

document.getElementById( "formulaireTOTO" ) me retourne [object
HTMLFormElment]

mais par contre

document.getElementById( "formulaireTATA" ) me retourne "null"


Question : why ???

Merci par avance.

4 réponses

Avatar
Fabien LE LEZ
On 20 Jul 2006 09:54:44 -0700, :

J'ai deux formulaires imbriqués.


Si je ne m'abuse, ce n'est pas du HTML correct. Du coup, le navigateur
fait comme il peut, et peut éventuellement ignorer le tag "<form>"
s'il est déjà dans un FORM.
Si tu veux en avoir le coeur net, il te suffit de soumettre ton code à
<http://validator.w3.org/>.

Avatar
Le Fou
a écrit :

J'ai deux formulaires imbriqués.


Quelle en est l'utilité ?

--
A'tchao

Le Fou
http://gloupclub.free.fr/
http://www.ffessm-cd84.com/
http://ehiller.club.fr/

Avatar
Olivier Miakinen

J'ai deux formulaires imbriqués.


Et ça ne fait pas trop mal ? ;-)

<form name="formulaireTOTO" id="formulaireTOTO" ...>

<form name="formulaireTATA" id="formulaireTATA" ...>


<cit. ttp://www.la-grange.net/w3c/html4.01/interact/forms.html#h-17.3>
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) >
</cit.>

Traduction :

1) ELEMENT FORM
On définit l'élément FORM

2) - -
La balise ouvrante est obligatoire, la balise fermante aussi.

3) (%block;|SCRIPT)+ -(FORM)
Cet élément peut contenir un nombre quelconque (au moins un)
d'éléments de type block ou d'éléments SCRIPT, *sauf* un autre
FORM.

Donc ce que tu cherches à faire est interdit. Si tu veux deux
formulaires, tu les mets l'un derrière l'autre et pas l'un dans
l'autre. Bien entendu, tu peux toujours t'arranger en CSS pour
donner l'impression visuelle que l'un est inclus dans l'autre.

Note : je fais suivre vers <news:fr.comp.infosystemes.www.auteurs>
puisque le problème était en fait lié à HTML et pas à JavaScript.

--
Olivier Miakinen

Avatar
Olivier Miakinen

J'ai deux formulaires imbriqués.


Et ça ne fait pas trop mal ? ;-)

<form name="formulaireTOTO" id="formulaireTOTO" ...>

<form name="formulaireTATA" id="formulaireTATA" ...>


<cit. http://www.la-grange.net/w3c/html4.01/interact/forms.html#h-17.3>
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) >
</cit.>

Traduction :

1) ELEMENT FORM
On définit l'élément FORM

2) - -
La balise ouvrante est obligatoire, la balise fermante aussi.

3) (%block;|SCRIPT)+ -(FORM)
Cet élément peut contenir un nombre quelconque (au moins un)
d'éléments de type block ou d'éléments SCRIPT, *sauf* un autre
FORM.

Donc ce que tu cherches à faire est interdit. Si tu veux deux
formulaires, tu les mets l'un derrière l'autre et pas l'un dans
l'autre. Bien entendu, tu peux toujours t'arranger en CSS pour
donner l'impression visuelle que l'un est inclus dans l'autre.

Note : je fais suivre vers <news:fr.comp.infosystemes.www.auteurs>
puisque le problème était en fait lié à HTML et pas à JavaScript.

--
Olivier Miakinen