Bonjour à tous!

Voilà j'ai un petit souci que j'ai du mal à regler.
J'ai un formulaire avec deux boutons submit
sur chacun de ces boutons j'ai un onClick qui appelle
deux fonctions différentes.
Dans ma page, le bouton A apparait avant le bouton B.
Jusque là tout va bien ..
le problème c'est qu'en tapant sur la touche entrée, il me fait le
submit du premier bouton rencontré à savoir le A
Alors que j'aimera bien que ce soit l'autre.
J'ai essayé de mettre un onkeypress au niveau du body avec une foncton qui verifie qu'on ait bien tapé sur "entrée" :
if (window.event.type == "keypress" & window.event.keyCode == 13){
return !(window.event.type == "keypress" & window.event.keyCode == 13);
}
le premier probleme c'est que sous firefox, ça ne passe pas ...
le second souci c'est que j'ai desactivé la touche entrée sur l'ecran mais je ne sais pas comment faire pour faire le submit de mon bouton B avec appelle de la fonction qui est sur le onclik ...

Euh j'espère m'etre fait comprendre
Et merci d'avance
Ce que tu tentes de faire est une usine à gaz, si tu veux mon avis.
Le plus simple est de mettre ton bouton B avant le A dans le code HTML.
Et pourquoi donc cette obscure idée que de mettre deux boutons submit pour le même formulaire ?
QuentinC a écrit :
Ce que tu tentes de faire est une usine à gaz, si tu veux mon avis.
Le plus simple est de mettre ton bouton B avant le A dans le code HTML.
Et pourquoi donc cette obscure idée que de mettre deux boutons submit pour le même formulaire ?

Malheureusement je ne peux pas mettre le bouton B avant A -
concernant les deux submit, je ne vois pas pourquoi je ne pourrai pas le faire ..
Merci bcp pour ta reponse Smiley smile
Je sais pas. Mais je ne trouve pas ça très logique.

Tu n'as pas d'autre solution que mettre ton bouton B avant le A dans le code HTML. Rien ne t'empêche de tricher un peu en CSS pour le positionner « après ».
Si je ne dis point de bétise.

Tu as deux bouton submit, donc fatalement, la pression sur la touche entrée correspond au premier bouton.
Une solution serait d'utiliser la fonction qui permet de soumettre le document sur le bouton A (et donc l'attribut TYPE avec pour valeur BUTTON) et de laisser le bouton B avec le TYPE -> SUBMIT.

Que fait ton ONCLICK?
Le problème s'il laisse le type button, c'est que le formulaire n'est plus soumis pour ce deuxième bouton.
Le seul moyen de savoir quel bouton a été cliqué serait alors le javascript. AVec tous les avantages et inconvénients que cela suppose.
Il me semble que tu peux faire quelque chose comme

ONCLICK="this.form.submit();"

Ce qui revient au même finalement.
Non ! Surtout pas ça : ONCLICK="this.form.submit();" est une abération.

Je m'explique : pensez à ceux qui naviguent jusqu'au bouton avec tab et qui appuient sur entrée ensuite ...
Donc, la solution la plus fiable est de mettre le bouton à autovalider en premier dans le code.

Ou alors éviter d'utiliser deux boutons submit, et remplacer par exemple en proposant une série de boutons radio pour que l'utilisateur choisisse l'action à effectuer.
QuentinC a écrit :
Donc, la solution la plus fiable est de mettre le bouton à autovalider en premier dans le code.

Ou alors éviter d'utiliser deux boutons submit, et remplacer par exemple en proposant une série de boutons radio pour que l'utilisateur choisisse l'action à effectuer.


C'est ce qui a été suggéré, mais il semblerait que ça ne lui convienne pas Smiley confus
Merci à tous pour vos réponses ..
et c'est pas "il" mais "elle" ben oui y a des filles aussi!!

Sinon finalement j'ai suivi votre conseil , j'ai enlever un des deux submits du coup en cliquant sur entrée on submit le bon bouton ..
et j'ai fait un simple bouton avec un onclick pour l'autre ..

vous savez tout -
merci de votre réactvité
:)
Modifié par ephemR (23 Mar 2006 - 00:33)
QuentinC a écrit :
Je sais pas. Mais je ne trouve pas ça très logique.

Tu n'as pas d'autre solution que mettre ton bouton B avant le A dans le code HTML. Rien ne t'empêche de tricher un peu en CSS pour le positionner « après ».


Meme si j'ai fini cet écran là - je suis curieuse de savoir comment tu fais ça en CSS ça peut tjs servir ?
ephemR a écrit :
Merci à tous pour vos réponses ..
et c'est pas "il" mais "elle" ben oui y a des filles aussi!!

Sinon finalement j'ai suivi votre conseil , j'ai enlever un des deux submits du coup en cliquant sur entrée on submit le bon bouton ..
et j'ai fait un simple bouton avec un onclick pour l'autre ..

vous savez tout -
merci de votre réactvité
:)

Pas de quoi elle Smiley smile
a écrit :
C'est ce qui a été suggéré, mais il semblerait que ça ne lui convienne pas

C'est pourtant la seule solution.

a écrit :
Meme si j'ai fini cet écran là - je suis curieuse de savoir comment tu fais ça en CSS ça peut tjs servir ?

J'en ai aucune idée moi-même, mais je suis sûr que c'est possible.

P.S. Puisque tu as résolu ton problème, pourrais-tu ajouter le tag "résolu" dans le titre de ton sujet ? Merci.
Modifié par QuentinC (23 Mar 2006 - 06:37)