5568 sujets

Sémantique web et HTML

Bonjour,

Lorsqu'un formulaire contient plus d'un champ de saisie, il n'est plus possible de le valider en appuyant sur la touche entrée.

Voici un exemple très simple :
<html>
  <head>
    <title>test</title>
  </head>
  <body>
    <form action="" method="get">
      <input type="text" name="i1" />
      <input type="text" name="i2" />
    </form>
  </body>
</html>


Commentez simplement le second champ, et en appuyant sur entrée le formulaire se valide.

Ce comportement se produit sous firefox (3.6) et IE (6) mais pas sous Chromium (4).

Je vais contourner le problème en javascript, mais j'aimerai comprendre d'où viens cette limitation ?
Modifié par gege2061 (10 Feb 2010 - 11:11)
Ne trouves-tu pas qu'il manque à ton formulaire un bouton de validation (autrement dit, un élément input de type "submit") ? Smiley cligne
Victor BRITO a écrit :
Ne trouves-tu pas qu'il manque à ton formulaire un bouton de validation

Bien évidement, mais ça ne serait pas drôle sinon... L'application qui me pose problème est utilisée avec un lecteur de code barre qui simule l'appuie sur la touche entrée.

On m'a juste demandé d'ajouter un champ de saisie supplémentaire et l'application ne fonctionne plus. Comme j'ai passé la matinée à trouver d'où viens le problème, j'aimerai juste comprendre Smiley cligne
Je ne crois pas que la validation d'un formulaire avec la touche Entrée soit spécifiée en HTML4. (Ça serait à vérifier...) Partant, il est risqué de s'attendre à un comportement identique des navigateurs.

gege2061 a écrit :
L'application qui me pose problème est utilisée avec un lecteur de code barre qui simule l'appuie sur la touche entrée.

Faire du JavaScript avec onkeypress/onkeyup?
Florent V. a écrit :
Je ne crois pas que la validation d'un formulaire avec la touche Entrée soit spécifiée en HTML4. (Ça serait à vérifier...)

C'est justement ce que je cherche à savoir.

Florent V. a écrit :
Faire du JavaScript avec onkeypress/onkeyup?

Oui c'est ce que j'ai fait Smiley cligne
Modérateur
Bonjour,

Lorsqu'il y a un bouton submit, la touche Entrée fonctionne très bien. J'ai trouvé deux solutions qui fonctionnent, mais ça vaut ce que ça vaut.

- Ajouter un input submit dans le formulaire et le cacher si nécessaire avec ce type de déclaration :


height:0;
width:0;
background:none;
border:0;


- Utiliser plutôt un input image avec un gif transparent de 1px par 1px. Ça fonctionne aussi et pas besoin de le cacher via CSS.

Il existe d'autres techniques similaires. J'ai essayé visibility hidden sur un bouton submit, mais IE7 fait comme s'il n'était pas là.

Enfin bref, comme ça semble être une application très spécifique, le Javascript est probablement plus fiable à long terme. Je tenais quand même à proposer des alternatives.

Note : J'ai testé ces solutions uniquement dans IE7 et Firefox 3.5.2.
Modifié par Tony Monast (10 Feb 2010 - 15:17)
Tony Monast a écrit :
Il existe d'autres techniques similaires. J'ai essayé visibility hidden sur un bouton submit, mais IE7 fait comme s'il n'était pas là.


Ok, merci pour l'astuce Smiley biggrin

Tony Monast a écrit :
Enfin bref, comme ça semble être une application très spécifique, le Javascript est probablement plus fiable à long terme. Je tenais quand même à proposer des alternatives.

Oui et surtout très male codée, donc moins j'y touche mieux je me porte.

Merci à tous pour vos réponses.