Validation d'un formulaire par la touche entrée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Validation d'un formulaire par la touche entrée

par Invité » 16 juin 2005, 15:12

julien,

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

par naholyr » 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.

ah

par julien.surel » 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!!!

par gb » 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.

j'ai IE!

par julien.surel » 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

par naholyr » 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.

par albat » 14 juin 2005, 23:55

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

par fab » 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é

Validation d'un formulaire par la touche entrée

par julien.surel » 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