Rechercher : dans
Par :

Validation formulaire clavier (IE)

Dernière réponse le 12 mai 2009 à 14:27:21 Jee, le 28 fév 2008 à 12:38:23 
 Signaler ce message aux modérateurs

Bonjour,
J'ai un problème avec la validation clavier d'un formulaire sous Internet Explorer.
Tout marche très bien sous Mozilla mais je n'ai aucun retour avec IE.
Pourtant mon input est bien de type "submit" et il vu qu'il s'agit du seul input="submit" présent dans le code ma page, le navigateur n'a pas à aller chercher ailleurs pour l'associer à la touche "entrée" du clavier...

Voila le code de mon formulaire:

<form action="catalogue.php" method="post" name="form_recherche" style="display:inline;" onsubmit="return valider()">
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="titre_champ02" align="left">N° de Référence / Mot Clé</td>
<td align="right"><input name="recherche" type="text" class="search" size="13" value=""></td>
<td><input name="chercher" type="submit" value="OK" size="2"><br></td>
</tr>
</table>
</form>

Merci d'avance pour vos réponses!

Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « Validation formulaire clavier (IE) » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Raccourcis clavier de Windows VoirRaccourcis clavier sous Windows ou comment éviter d'utiliser la souris ! Raccourcis spécifiques à Windows Pour la gestion de fichiers mais aussi pour tous les logiciels Pour les logiciels de traitement de texte Pour Word Pour Excel Pour...
Désinstaller IE 8 VoirDésinstallation d'IE 8 Vous avez installé IE8 pour le tester et vous souhaitez désormais revenir à une version précédente ? Voici la procédure à suivre pour les OS suivants : Windows Vista Windows XP Windows Vista Ouvrir le...
Télécharger Clavier + VoirClavier+ est un outil qui vous permet d'associer toutes les touches du clavier à une action, y compris la touche Windows. Les raccourcis créés peuvent être associés à un programme ou à un texte particulier. Pour prendre un exemple concret, créez des...
Télécharger Clavier+ VoirClavier+ est un utilitaire de gestion de touche clavier. L'utilisateur peut créer ses propres raccourcis. Il intègre une interface simple et les opérations s'effectuent très rapidement. La personnalisation peut être associée à un programme ou à...
Les formulaires HTML VoirIntérêt d'un formulaire Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains...
Le clavier VoirPrésentation du clavier Le clavier (en anglais keyboard) permet, à la manière des machines à écrire, de saisir des caractères (lettres, chiffres, symboles ...), il s'agit donc d'un périphérique d'entrée essentiel pour l'ordinateur, car c'est...
Servlets - Gestion des formulaires VoirIntroduction aux formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise...

1

neojick, le 28 fév 2008 à 12:41:47

A quoi sert la fonction onsubmit="return valider()" ?


Tu vérifie si les champs sont remplis ?

Parce que si tu as trouvé ce code quelque part, la partie onsubmit="return valider()" n'est pas utile dans ton formulaire si tu n'as pas de fonction valider() en javascript qui fait quelque chose.

Firefox ne trouve pas la fonction et passe à la suite, et donc valide le formulaire, alors que ie, lui ne trouve pas la fonction et se bloque.

Mais si cette fonction existe bel et bien et qu'elle traite quelque chose, le "return" de ta fonction ne plait pas à ie.
Pluie en septembre, route mouillée

Répondre à neojick

2

Jee, le 28 fév 2008 à 13:04:09

Oui la fonction en javascript existe bien, elle permet d'afficher un "message d'erreur" si l'utilisateur valide le formulaire sans avoir saisie une information.

Voilà le code en javascirpt:

function valider(){
// si la valeur du champ "recherche" est non vide
if(document.form_recherche.recherche.value != "") {
// les données sont ok, on peut envoyer le formulaire
return true;
}
else {
// sinon on affiche un message
alert("Saisissez un mot clé ou une référence");
// et on indique de ne pas envoyer le formulaire
return false;
}
}

Répondre à Jee

3

neojick, le 28 fév 2008 à 13:10:15

Mets un id à ton input "recherche" et change ta fonction comme ça :


function valider(){
// si la valeur du champ "recherche" est non vide
if(document.getElementById("recherche").value != "") {
// les données sont ok, on peut envoyer le formulaire
return true;
}
else {
// sinon on affiche un message
alert("Saisissez un mot clé ou une référence");
// et on indique de ne pas envoyer le formulaire
return false;
}
}


Question : est-ce que sous ie, le "alert" se déclenche même si le champ est rempli ?



Pluie en septembre, route mouillée

Répondre à neojick

4

Jee, le 28 fév 2008 à 13:21:27

Euh..je comprend pas trop le truc de l'id dans mon input "recherche". Quelle valeur je dois donner à l'id?

et pour répondre à ta question, non le "alert" fonctionne normalement sous IE.

Répondre à Jee

5

neojick, le 28 fév 2008 à 13:25:09

Le id dont je parlais est : <input name="recherche" id="recherche" ... /> pour que le document.getElementById("recherche") trouve l'input.

Mais si l'alert ne se déclenche pas, c'est que la condition première est respectée normalement.
Mets un alert("test") dans la première partie de la boucle, celle où tu dois passé sur le formulaire est rempli, et regarde si le "test" s'affiche à la validation du formulaire.
Pluie en septembre, route mouillée

Répondre à neojick

6

Jee, le 28 fév 2008 à 13:38:58

Je ne voudrais pas abuser de ton temps et de ton aide mais vu que je suis un novice (pour pas dire une quiche) en terme de javascript, je vois pas comment intégrer une alert("test") dans la 1ere boucle :s

Répondre à Jee

7

neojick, le 28 fév 2008 à 13:50:03

Alert("test"); une ligne au dessus avant le return true;
Pluie en septembre, route mouillée

Répondre à neojick

8

Jee, le 28 fév 2008 à 14:01:52

Ok merci.
bon alors j'ai bien le alert("test") qui s'affiche quand je valide au clavier sous Mozilla et AUSSI sur IE.
Ca veut dire qu'IE comprend quand même la fonction?

Répondre à Jee

9

Jee, le 28 fév 2008 à 14:12:43

J'ai oublié de préciser que quand je clique sur le "ok" du alert("test"), les résultats ne s'affichent tjs pas avec IE

Répondre à Jee

13

 KANE, le 12 mai 2009 à 14:27:21
  • +1

U<gras>yuy<

/gras>uuyuyjhgjhgjh

hghgjh

Répondre à KANE

10

neojick, le 28 fév 2008 à 14:52:41

Vire la fonction javascript pour tester si le formulaire se valide

Pluie en septembre, route mouillée

Répondre à neojick

11

Jee, le 28 fév 2008 à 15:11:19

Whoohoo! je viens de trouver une solution qui marche! :D
en fait j'ai tout laissé en état et j'ai juste rajouté un input type="hidden" à la suite du input type="submit" qui existait déjà.

Ce qui donne au niveau du javascript (merci neojick):

function valider(){
// si la valeur du champ "recherche" est non vide
if(document.getElementById("recherche").value != "") {
// les données sont ok, on peut envoyer le formulaire
return true;
}
else {
// sinon on affiche un message
alert("Saisissez un mot clé ou une référence");
// et on indique de ne pas envoyer le formulaire
return false;
}
}

et pour le formulaire:

<form action="catalogue.php" method="post" name="form_recherche" style="display:inline;" onsubmit="return valider()">
<table cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="titre_champ02" align="left">N° de Référence / Mot Clé</td>
<td align="right"><input name="recherche" id="recherche" type="text" class="search" size="13" value="" ></td>
<td><input name="chercher" type="submit" value="OK" size="2"><br>
<input name="chercher" type="hidden" value="OK" size="2">
</td>
</tr>
</table>
</form>

Je sais pas si c'était la meilleure solution pour régler le pb mais au moins comme ça, la validation au clavier marche aussi bien sous Mozilla Firefox que sous IE.
Je suis joie :)

Répondre à Jee

12

neojick, le 28 fév 2008 à 17:15:37

J'avais déjà entendu parler de cette histoire de type="hidden" mais ce n'est pas logique que ça marche sans. Les joies d'IE....

Pluie en septembre, route mouillée

Répondre à neojick