Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Input et Enter

3 réponses
Avatar
Denis Beauregard
Bonjour,

J'aimerais comprendre comment fonctionnent les formulaires quand on
fait la touche "Enter".

J'ai fait un formulaire avec plusieurs boutons input/submit

<input value="Avancer" name="op" type="submit">
<input value="Reculer" name="op" type="submit">
<input value="Tourner" name="op" type="submit">

Suivent ou précèdent quelques input type="text"


Si je clique sur un des boutons submit, il envoie une commande
telle que op=Avancer et c'est bien reçu à l'autre bout.

Mais si je ne clique sur aucun bouton et que j'appuie seulement
sur Enter, que doit-il se passer ? Et est-ce que cela dépend du
navigateur ou d'un essai précédent ? Est-ce qu'il faut qu'un
des input ait été sélectionné (focus dans un input text par exemple) ?

J'ai fait quelques essais et Enter envoie le contenu du 1er submit,
ce qui fait mon affaire en ce moment. J'ai inversé les deux premiers
submit et il continue à envoyer le premier. Mais, est-ce que ce sera
la même chose avec tous les navigateurs ? Je suppose qu'en principe,
la séquence des opérateurs d'un POST ou d'un GET sera la même que
leur apparition dans la page, mais est-ce réellement le cas ?

Par ailleurs, sur certains sites, Enter tout seul, dans un formulaire,
ne fonctionne pas. Je dis cela de mémoire, ayant déjà rencontré de
tels sites, mais pour le moment je n'ai pas de site que je pourrais
donner comme exemple. Ai-je une mauvaise mémoire ou bien y a-t-il un
minimum pour que Enter fasse quelque chose ?


Denis

3 réponses

Avatar
Olivier Miakinen
Bonjour,

Le 07/02/2010 00:39, Denis Beauregard a écrit :

J'aimerais comprendre comment fonctionnent les formulaires quand on
fait la touche "Enter".

J'ai fait un formulaire avec plusieurs boutons input/submit

<input value="Avancer" name="op" type="submit">
<input value="Reculer" name="op" type="submit">
<input value="Tourner" name="op" type="submit">

Suivent ou précèdent quelques input type="text"


Si je clique sur un des boutons submit, il envoie une commande
telle que op=Avancer et c'est bien reçu à l'autre bout.

Mais si je ne clique sur aucun bouton et que j'appuie seulement
sur Enter, que doit-il se passer ? Et est-ce que cela dépend du
navigateur ou d'un essai précédent ? Est-ce qu'il faut qu'un
des input ait été sélectionné (focus dans un input text par exemple) ?



Ce n'est pas parfaitement clair dans la doc. Ce qui est clair, c'est que
s'il y a plusieurs boutons submit seul le bouton submit « actif »
réussira, mais je n'arrive pas à savoir comment déterminer lequel est
actif. Peut-être est-ce le premier suivant le contrôle qui a le focus,
dans l'ordre de la navigation par tabulation ?

Je te suggère d'essayer de changer l'ordre des tabindex sans forcément
changer l'ordre de définition, et aussi de mettre un champ input entre
deux boutons submit. Regarde ce qui se passe selon que le focus est ou
non sur cet input entre deux boutons submit .

--
Olivier Miakinen
Avatar
SAM
Le 2/7/10 12:39 AM, Denis Beauregard a écrit :
Bonjour,

J'aimerais comprendre comment fonctionnent les formulaires quand on
fait la touche "Enter".

J'ai fait un formulaire avec plusieurs boutons input/submit

<input value="Avancer" name="op" type="submit">
<input value="Reculer" name="op" type="submit">
<input value="Tourner" name="op" type="submit">

Suivent ou précèdent quelques input type="text"


Si je clique sur un des boutons submit, il envoie une commande
telle que op=Avancer et c'est bien reçu à l'autre bout.

Mais si je ne clique sur aucun bouton et que j'appuie seulement
sur Enter, que doit-il se passer ? Et est-ce que cela dépend du
navigateur ou d'un essai précédent ? Est-ce qu'il faut qu'un
des input ait été sélectionné (focus dans un input text par exemple) ?

J'ai fait quelques essais et Enter envoie le contenu du 1er submit,
ce qui fait mon affaire en ce moment. J'ai inversé les deux premiers
submit et il continue à envoyer le premier. Mais, est-ce que ce sera



et bien sûr le cache a été vidé entretemps ?

En tous cas chez moi (Fx.3) c'est le 1er submit qui est validé
(sans vider le cache)
et avec IE.6 ou 7, aucun submit n'est envoyé ... :-(
(même apès un essai en se servant d'un des submits)

la même chose avec tous les navigateurs ? Je suppose qu'en principe,
la séquence des opérateurs d'un POST ou d'un GET sera la même que
leur apparition dans la page, mais est-ce réellement le cas ?

Par ailleurs, sur certains sites, Enter tout seul, dans un formulaire,
ne fonctionne pas. Je dis cela de mémoire, ayant déjà rencontré de
tels sites, mais pour le moment je n'ai pas de site que je pourrais
donner comme exemple. Ai-je une mauvaise mémoire ou bien y a-t-il un
minimum pour que Enter fasse quelque chose ?



Il suffit d'un champ texte et un seul (sans même un bouton submit)
pour que ça fonctionne :
on focuse le champ (clic par exemple) et touche Enter
hop! ça submite
heu ... ça soumet

Il fut une époque où s'il y avait plusieurs champs ça ne fonctionnait
plus (NC4)(IE ça a touj déconné, heu ... fonctionné)

D'ailleurs, d'avoir rajouté un champ texte, ça a réparé mes IE.
Ils envoient le submit aussi maintenant
(et que le 1er, même après échange)

Pour tes tests, il ne suffit pas de recharger le formulaire modifié, il
faut aussi cliquer dans la fenêtre (afin que IE lâche le focus qu'il a
planté sur le dernier bouton précédemment utilisé)


Ça marche aussi avec Safari.
--
sm
Avatar
Denis Beauregard
Le Sat, 06 Feb 2010 18:39:42 -0500, Denis Beauregard
écrivait dans
fr.comp.infosystemes.www.auteurs:

J'aimerais comprendre comment fonctionnent les formulaires quand on
fait la touche "Enter".



...

Merci pour vos commentaires, Olivier et SAM.


Denis