Validation formulaire clavier (IE)
Résolu/Fermé
A voir également:
- Validation formulaire clavier (IE)
- Changer clavier qwerty en azerty - Guide
- Télécharger clavier arabe samsung - Télécharger - Bureautique
- Telecharger clavier arabe تنزيل لوحة المفاتيح العربية - Télécharger - Divers Web & Internet
- Clavier+ - Télécharger - Personnalisation
- Caractère spéciaux mac clavier - Guide
8 réponses
neojick
Messages postés
167
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
30 mars 2009
99
28 févr. 2008 à 12:41
28 févr. 2008 à 12:41
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.
neojick
Messages postés
167
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
30 mars 2009
99
28 févr. 2008 à 13:10
28 févr. 2008 à 13:10
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 ?
neojick
Messages postés
167
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
30 mars 2009
99
28 févr. 2008 à 13:25
28 févr. 2008 à 13:25
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.
neojick
Messages postés
167
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
30 mars 2009
99
28 févr. 2008 à 13:50
28 févr. 2008 à 13:50
alert("test"); une ligne au dessus avant le return true;
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
neojick
Messages postés
167
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
30 mars 2009
99
28 févr. 2008 à 14:52
28 févr. 2008 à 14:52
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 :)
neojick
Messages postés
167
Date d'inscription
mardi 22 mai 2007
Statut
Membre
Dernière intervention
30 mars 2009
99
28 févr. 2008 à 17:15
28 févr. 2008 à 17:15
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+
28 févr. 2008 à 13:04
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;
}
}