problème submit pseudo-bouton (lien avec onclick)

Eléphant du PHP | 441 Messages

13 déc. 2005, 10:31

bonjour à tous,
j'ai un soucis avec mes formulaires.
Mes "boutons" sont constitués d'une ancre A avec une image et un texte. (charte graphique!)
Donc sur chaque pseudo-bouton on capture l'évènement onClick()...
Sur celui simulant le submit j'ai placé cette instruction :
onClick="this.form.submit();"
Pour controler le formulaire on utilise Xajax, en placant une instruction sur l'évènement onSubmit du Formulaire.
Problème: lorsque je clique sur mon lien servant de bouton submit, l'évènement onSubmit du formulaire n'est pas déclenché. Si je place un vrai bouton submit ça marche.
:roll:
Pourriez-vous m'aider?

Ps: le pseudo-bouton reset ne fonctionne que si on ne place rien dans l'attribut href même pas un #.
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes

Eléphant du PHP | 219 Messages

13 déc. 2005, 11:20

Euh, normalement ne faut-il pas que tu fasses href="javascript:ton code"
?

Mammouth du PHP | 19672 Messages

13 déc. 2005, 12:28

Autre option possible: pourquoi ne pas utiliser un véritable bouton, input type="reset" que tu modifierais au plan graphique avec un style CSS ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 déc. 2005, 13:33

Sinon c'est forms avec un s
essaye avec

Code : Tout sélectionner

onClick="this.forms[0].submit();"
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 441 Messages

13 déc. 2005, 14:47

Code : Tout sélectionner

href="javascript:this.form.submit();"

Code : Tout sélectionner

href="javascript:this.forms[0].submit();"

Code : Tout sélectionner

onClick="this.forms[0].submit();"
ne fonctionnent pas ...
:roll:
l'idée du CSS... pourquoi pas mais il faut que je crée toutes les images de fond des boutons "possibles"...
je ne comprends vraiment pas pourquoi cela ne fonctionne pas :(
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes

Eléphant du PHP | 219 Messages

13 déc. 2005, 14:51

pourquoi utilises-tu "this" ? Avec "document" ça marche je pense.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 déc. 2005, 14:57

Mes "boutons" sont constitués d'une ancre A avec une image et un texte. (charte graphique!)
l'idée du CSS... pourquoi pas mais il faut que je crée toutes les images de fond des boutons "possibles"...
:shock: Dans un cas comme dans l'autre, tu va avoir à créer ces images
C'est la même chose que avec les <a> mais en CSS et pas en HTML c'est tou
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 441 Messages

13 déc. 2005, 15:12

pourquoi utilises-tu "this" ? Avec "document" ça marche je pense.
justement this est censé représenter le document courant il me semble...
enfin même résultat avec document.form :(
Shocked Dans un cas comme dans l'autre, tu va avoir à créer ces images
C'est la même chose que avec les <a> mais en CSS et pas en HTML c'est tou
on part vers cette solution, apparemment c'est la seule qui fonctionne véritablement.

Merci !
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes

Eléphant du PHP | 219 Messages

14 déc. 2005, 12:30

Salut,

"this" ne représente pas le document.
Dans une balise input de type button, le this représente l'objet bouton. Tu peux accéder au formulaire parent via this.form. Cependant en utilisant une balise de type <a> tu n'as pas accès au formulaire parent, tu dois donc faire autrement.

Code : Tout sélectionner

<form id="toto" action="" method="get"> <a href="javascript:document.forms['toto'].submit()"> LIEN </a> <input name="toto" value="alibaba"> </form>
C'était au cas où ;)

Eléphant du PHP | 441 Messages

14 déc. 2005, 12:51

ok merci je prends note et je vais tester plus tard si ça marche :wink:
Futures Stars par ici >> www.apel-doorn.com
fan d'info et du ... PSG !! :D
Apprendre, comprendre et maîtriser telle est ma devise!
Fan inconditionnel de netvibes