Validation d'un formulaire par la touche entrée

Eléphanteau du PHP | 10 Messages

14 juin 2005, 14:21

Bonjour à toutes et à tous
Voilà j'ai un formulaire qui n'est validé seulement en appuyant sur le bouton submit et pas en appuyant sur entrée lorsque l'on est dans un champ de formulaire.
Je voudrai qu'il soit validé en appuyant sur entrée... C'est possible??
Merci

ViPHP
fab
ViPHP | 2657 Messages

14 juin 2005, 23:29

pour ça je pense que dans ton code tu peux rien faire pour, ton naviguateur le fait ou non.
Je suis sous firefox et en général ( bien sur ça dépend tu formulaire quand y a un textarea ça capote ) ça marche. Sous IE peut pas te dire plus de 3 que je ne l'ai pas utilisé

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

14 juin 2005, 23:55

Peut-être en utilisant la fonction javascript focus()...
Mais sur quel évènement la déclencher ? Mystère !

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

15 juin 2005, 00:30

si ton bouton est un "vrai" bouton submit <input type="submit">, la plupart des navigateurs devraient adopter ce comportement : c'est le cas de IE (windows & mac), Safari, Opera, Firefox (je suis sûr que même Amaya le fait). Sous mac on a des problèmes avec les <input type="image"> qui ne sont pas gérés comme un bouton submit.

Vérifie que tu n'as qu'un seul bouton submit, et que c'est bien type="submit", tu ne peux pas faire grand-chose de plus.

Note que ce comportement (envoyer le formulaire sur pression d'entrée) ne fonctionne que sur un champ type="text" ou type="password" pour tous les navigateurs cités. Sur certains navigateurs ça marche aussi si tu as le focus sur un champ radio ou checkbox, mais je serais moins formel.

Eléphanteau du PHP | 10 Messages

15 juin 2005, 09:51

Et bien celà m'étonne aussi pourtant j'ai bien IE, ça m'embarasse cette histoire parce que tous les utilisateurs ne valide pas en appuyant sur ok!
Je vous fait part de mon code il y a peut être des erreurs:

<form action="traite_rech.php" method="post">
Rechercher :
<input name="rechercher" type="text" value="" size="15" maxlength="100">
Rubrique :
<select name="liste" size="1" id="liste">
<?php include('scripts/listtcom.php');?>
</select>
<input type="submit" name="submit"
value="Ok" />
</form>

Merci

gb
Invité n'ayant pas de compte PHPfrance

15 juin 2005, 10:33

j'ai rencontré le même problème recemment : je pouvais valider un formulaire avec la touche entrée sur mon firefox mais pas moyen avec IE (bizarre bizarre...).
Du coup j'ai feinté sur ma page de traitement: au lieu d'utiliser if isset($_POST['submit'] je me suis basé sur un des champs texte de mon formulaire.

Eléphanteau du PHP | 10 Messages

15 juin 2005, 11:49

J'ai mis dans mon fichier de traitement:
if (isset($_POST['submit'])) et mon erreur viens de là par contre j'ai pas compris comment tu as fait pour contourner le problème
Merci!!!

Administrateur PHPfrance
Administrateur PHPfrance | 3131 Messages

15 juin 2005, 19:34

Si vous pouviez vous exprimer correctement aussi hein ><
Donc le formulaire est bien validé, il envoie bien ses informations à la page, mais c'est simplement le "isset" qui ne fonctionne pas, c'est ça ?

C'est parce qu'on peut mettre plusieurs boutons submit sur un formulaire, et qu'aucun navigateur n'a la même façon de le gérer. Donc oui il vaut mieux se baser sur les champs "à contenu" (texte, liste, etc...) du formulaire, que sur le submit.

Invité
Invité n'ayant pas de compte PHPfrance

16 juin 2005, 15:12

julien,

:arrow: if (isset($_POST['rechercher']))