Validation formulaire clavier (IE)
Résolu
Jee
-
bobbyjo -
bobbyjo -
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!
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!
A voir également:
- Validation formulaire clavier (IE)
- Whatsapp formulaire opposition - Guide
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Formulaire de réclamation facebook - Guide
- Comment taper / sur clavier - Guide
- Clavier de l'ordinateur - Guide
8 réponses
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.
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.
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 ?
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 ?
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Vire la fonction javascript pour tester si le formulaire se valide
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 :)
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 :)
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....
Bonjour,
Je me posais la même question, à savoir "comment faire pour que, sous IE, la validation du formulaire soit possible avec le bouton Entrée ?".
J'ai trouvé une solution, donc si ça peut servir à ceux qui sont dans le même cas que moi.
Admettons que mon formulaire soit :
Je me suis aperçu que lorsque je testais l'envoi du formulaire sur le nom du submit, IE ne fonctionnait pas alors qu'en testant sur le nom du champ texte, c'est parfait.
KO :
OK :
J'espère que ça en aidera certains.
A+
Je me posais la même question, à savoir "comment faire pour que, sous IE, la validation du formulaire soit possible avec le bouton Entrée ?".
J'ai trouvé une solution, donc si ça peut servir à ceux qui sont dans le même cas que moi.
Admettons que mon formulaire soit :
<form name="form" method="post" action="page.php"> <input type="text" name="champtexte" /> <input type="submit" name="validation" /> </form>
Je me suis aperçu que lorsque je testais l'envoi du formulaire sur le nom du submit, IE ne fonctionnait pas alors qu'en testant sur le nom du champ texte, c'est parfait.
KO :
if isset($_POST['validation']) {...}
OK :
if isset($_POST['champtexte']) {...}
J'espère que ça en aidera certains.
A+
Bonjour,
Je me posais la même question, à savoir "comment faire pour que, sous IE, la validation du formulaire soit possible avec le bouton Entrée ?".
J'ai trouvé une solution, donc si ça peut servir à ceux qui sont dans le même cas que moi.
Admettons que mon formulaire soit :
Je me suis aperçu que lorsque je testais l'envoi du formulaire sur le nom du submit, IE ne fonctionnait pas alors qu'en testant sur le nom du champ texte, c'est parfait.
KO :
OK :
J'espère que ça en aidera certains.
A+
Je me posais la même question, à savoir "comment faire pour que, sous IE, la validation du formulaire soit possible avec le bouton Entrée ?".
J'ai trouvé une solution, donc si ça peut servir à ceux qui sont dans le même cas que moi.
Admettons que mon formulaire soit :
<form name="form" method="post" action="page.php"> <input type="text" name="champtexte" /> <input type="submit" name="validation" /> </form>
Je me suis aperçu que lorsque je testais l'envoi du formulaire sur le nom du submit, IE ne fonctionnait pas alors qu'en testant sur le nom du champ texte, c'est parfait.
KO :
if isset($_POST['validation']) {...}
OK :
if isset($_POST['champtexte']) {...}
J'espère que ça en aidera certains.
A+
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;
}
}