gr43
Messages postés95Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 8 septembre 2010
-
4 sept. 2009 à 19:58
gr43
Messages postés95Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 8 septembre 2010
-
5 sept. 2009 à 12:44
Bonjour à tous,
j'ai un formulaire nommé cnx et le bouton d'envoie est
onClick="envoieForm('cnx');return false;"
Dans la fonction envoieForm il n'est pas possible de faire par exemple
function envoieForm (s_nomForm)
{
document.s_nomForm.submit;
}
car document.s_nomForm est 'undefined'. Y aurait-il une astuce ou il faut alors passer par un document.getElementById.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 5 sept. 2009 à 08:39
Bonjour,
non, id n'est quasi jamais obligatoire
il faut : document.s_nomForm.submit();
( sans préjuger d'autres erreurs ? )
ça devait être dit dans les erreurs
javascript d'ailleurs
[u]mais mettre un onclick + formulaire.submit()
n'est pas la manière standard de faire/u il faut :
<form ... onsubmit="return (controle());"
action....>
.. les champs du formulaire...
</form>
sans click, sans submit() !!!!
dans controle, on controle les champs
( si nécessaire ) et on retourne false
le formulaire ne sera pas envoyé, il le
sera si on renvoie true
gr43
Messages postés95Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 8 septembre 2010 5 sept. 2009 à 10:37
Merci de ta réponse.
Je ne connaissais pas la manière standard et c'est vrai que c'est plus
logique. Mais je ne peux pas la mettre en pratique dans ce cas (enfin je suppose) car la fonction envoieForm appelle d'autre fonction dont une qui
se répète avec setTimeout(ouverture d'une modal personnalisé) ce qui envoie le formulaire dès qu'elle commence sans attendre l'appel d'une autre fonction quand l'ouverture est terminé.
Par contre si je fais (mon name est ok)
function envoieForm (s_nomForm)
{
alert(document.s_nomForm.length); //document.s_nomForm est 'undefined'
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
gr43
Messages postés95Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 8 septembre 2010 5 sept. 2009 à 11:32
document[s_nomForm].length fonctionne impec. Merci de voter aide et de la méthode standard que je ne suis pas parvenu à appliquer cette fois mais qui me sera bien utile dans d'autre cas. Ce n'est pas la première fois que vous me dépannez avec tjs autant de rapidité et de maitrise. Bonne continuation
gr43
Messages postés95Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 8 septembre 2010 5 sept. 2009 à 12:44
Désolé, j'avais pas vu les messages précédents.
Cela ne fonctionnait pas car j'avais mis onSubmit="envoieForm (this.form); return false". avec onclick, c'est ok.
Merci pour l'explication entre document['xxx'] et document.forms['xxx'] qui est d'ailleurs parfaitement logique