faire appel au bon submit dans une page

Eléphant du PHP | 57 Messages

23 janv. 2008, 19:04

bonjour,
je possede deux submit dans ma page et je fais un sumit() dans un onchange d'un select qui voudrait faire appel au premier et non au deuxieme... comment faire svp ?!
Joss91

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

23 janv. 2008, 19:34

Quand tu fais appel à submit(), tu déclenche l'envoi du formulaire, c'est tout. Tu ne déclenches nullement le clique sur un bouton ou un autre... tu ne déclenche d'ailleurs même pas l'événement onSubmit="" du formulaire.

Si tu as deux formulaires différents, tu spécifies le nom du formulaire que tu veux soumettre, donc pas de soucis. Si tu n'as qu'un seul formulaire et deux boutons aux actions différentes, il te faut, avant de faire appel au submit(), renseigner un champ (hidden par exemple) avec une valeur spécifique qui indiquera à ton script quel traitement effectuer...


Dans tous les cas, c'est un problème javascript :arrow: on déménage ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 57 Messages

24 janv. 2008, 10:54

oui je comprends mais le formulaire que je desire envoyer se trouve lui meme dans un autre formulaire cela fait en gros comme ceci :

Code : Tout sélectionner

<form1> ... <form2> <select onchange="submit()"> ... </form2> ... </form1>
Nous allons dire que form2 est le formulaire qui m'interesse.
Résultat de l'exemple ci dessus : il l'envoi dans le formulaire 1 et non dans le 2 !! :x
Joss91

ViPHP
ViPHP | 2287 Messages

24 janv. 2008, 12:20

oui je comprends mais le formulaire que je desire envoyer se trouve lui meme dans un autre formulaire cela fait en gros comme ceci :

Code : Tout sélectionner

<form1> ... <form2> <select onchange="submit()"> ... </form2> ... </form1>
Nous allons dire que form2 est le formulaire qui m'interesse.
Résultat de l'exemple ci dessus : il l'envoi dans le formulaire 1 et non dans le 2 !! :x
Oulà, tu es bon pour changer tout ça alors ;-) On ne MET PAS un formulaire dans un autre formulaire.

Pour repérer et corriger tes erreurs d'HTML, je te recommande fortement d'utiliser (même d'abuser) du validateur du W3C.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Eléphant du PHP | 57 Messages

24 janv. 2008, 12:51

Ok ok je vais me pencher dessus mais pour info mon code marche avec les deux submit le prob est que c'est la fonction onchange="submit" du select qui ne va pas...
c'est à dire actuellement ce qui marche c'est : j'ai deux boutton submit suivant le schéma décri plus haut (<form1 etc ...) et quand je veux passer dans le <select> le onchange="submit" et bien cela ne prend pas le bon formulaire ! :?
Joss91

ViPHP
ViPHP | 2287 Messages

24 janv. 2008, 13:06

Ce n'est même pas censé marcher. C'est un coup de chance que ça aie marché jusque là... et tu ne peux pas espérer que ça continue :? .

Si tu veux avoir un minimum de certitudes sur le bon fonctionnement de ta page et de tes formulaires, il est indispensable de respecter la norme HTML, c'est pourquoi je te conseille de valider tes pages (cela te signalera toutes les erreurs et comment les corriger).
if(!@work()){ Nespresso(); } else { what(); }
______________________________