Auteur Sujet: [RESOLU] Nombre minimum de caractère pour recherche dans formulaire  (Lu 7671 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Salut,

J'ai un moteur de recherche sur mon site et je voulais savoir si grâce à un javascript je pouvais définir un nombre minimum de caractère à saisir ?

Je veux que si on tape moins de 3 caractères alors j'ai un message d'erreur qui dit "veuillez entrer au moins 3 caractères".

J'ai chercher sur le net un tel script sans succès.

Quelqu'un a déjà mis ça en place ?
« Modifié: 28 juillet 2008 à 14:52:03 par Lebanner »

Hors ligne M@x

  • Habitué
  • **
  • Messages: 108
    • Upload Images
Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #1 le: 20 juin 2008 à 20:54:38 »
Vite fait au passage :

function test(id_element) {
 var nb_caract = document.getElementById(id_element).value.length;

if(nb_caract <= 3)
{
alert('Pas assez de caractères...');
}
}

Fait sur le coude mais normalement c'est bon. Sinon en PHP c'est strlen($variable); ;)

M@x.

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #2 le: 05 juillet 2008 à 15:03:59 »
J'ai cette fonction en java script :

<SCRIPT type="text/javascript">
function verifChamp()
{
if (document.recherche_fighter.Nom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum");
return false;
}
if (document.recherche_fighter.Prenom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum");
return false;
}
if (document.recherche_fighter.Surnom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum");
return false;
}
return true;
}
</SCRIPT>

En fait j'ai 3 champs à contrôler mais avec cette fonction il faut que les 3 champs fassent au moins 3 caractères ce qui ne me convient pas.
Si je rempli le premier champ avec 7 caractères (par ex) je vais quand même avoir le message car les 2 autres champs sont < 3 caractères.

Moi je souhaite que ça controle le champ du moment qu'il est rempli.

Comment modifier le code pour répondre à mon besoin ?

Merci encore. :ph34r:

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #3 le: 23 juillet 2008 à 09:46:00 »
Bonjour,

Quand appelles-tu la fonction "verifChamp()" stp?
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #4 le: 24 juillet 2008 à 07:16:10 »
Salut,
Je l'appele dans mon form qui est en dessous de mon bout de code js :
<form method="post" name="recherche_fighter" action="http://www.jjb-france.com/BD_Fighters/resultat_recherche.php" OnSubmit="return verifChamp()">

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #5 le: 24 juillet 2008 à 10:17:40 »
Salut,

Je ne suis pas sûr de bien comprendre ce que tu veux...
Il te suffit de personnaliser chaque phrases comme ceci :
function verifChamp()
{
if (document.recherche_fighter.Nom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Nom");
return false;
}
if (document.recherche_fighter.Prenom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Prénom");
return false;
}
if (document.recherche_fighter.Surnom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Surnom");
return false;
}
return true;
}

Tu peux aussi faire un jeux de elseif (simuler puisque le elseif n'existe pas):
function verifChamp()
{
if (document.recherche_fighter.Nom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Nom");
return false;
}
else
{
if (document.recherche_fighter.Prenom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Prénom");
return false;
}
else
{
if (document.recherche_fighter.Surnom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Surnom");
return false;
}
else
return true;
}
}
}
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #6 le: 26 juillet 2008 à 16:53:11 »
Salut,

Merci de m'aider Just.

En fait mon problème est que si je met 3 caractères dans mon premiers champs la recherche devrait se faire alors que là ça me demande de remplir les autres champs.

Je veux que le message s'affiche uniquement si le champs est rempli.

Si mon champs 1 fait 3 caractères et que les 2 autres sont vides, je veux que ça recherche mes données. Là ça me demande de saisir les 2 autres.

Je peux remplir 1 seul champs, 2 champs en même temps ou les 3 en même temps...

Merci d'avance

Hors ligne M@x

  • Habitué
  • **
  • Messages: 108
    • Upload Images
Re : Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #7 le: 27 juillet 2008 à 01:47:21 »
Tu peux aussi faire un jeux de elseif (simuler puisque le elseif n'existe pas):

Depuis quand ?!

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #8 le: 28 juillet 2008 à 10:12:49 »
Salut,

@ m@x :
depuis toujours :P!
En javascript tu ne peux pas écrire "elseif" en revanche tu peux écrire "else if" qui reviens sensiblement au même mais tu ne pourras pas les enchainer à moins de les imbriquer, comme dans l'exemple ci dessus. Ce n'est donc aps réellement un elseif comme on le connait dans PHP par exemple.

@ Lebanner :
Si je comprend bien ce que tu veux, essai ça :
function verifChamp()
{
if (document.recherche_fighter.Nom.value.length > 0 && document.recherche_fighter.Nom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Nom");
return false;
}
else
{
if (document.recherche_fighter.Prenom.value.length > 0 && document.recherche_fighter.Prenom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Prénom");
return false;
}
else
{
if (document.recherche_fighter.Surnom.value.length > 0 && document.recherche_fighter.Surnom.value.length < 3)
{
alert("Veuillez saisir 3 caractères au minimum pour le champ Surnom");
return false;
}
else
return true;
}
}
}
J'en profite pour rappeler que javascript ne doit pas être utiliser dans un objectif de sécurisation mais uniquement d'enrichissement de l'interface.

Bon courage.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : [RESOLU] Nombre minimum de caractère pour recherche dans formulaire
« Réponse #9 le: 28 juillet 2008 à 14:52:53 »
C'est exactement ça !
C'est tout Just !
Elle était facile celle là ...
Merci beaucoup de ton aide

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : [RESOLU] Nombre minimum de caractère pour recherche dans formulaire
« Réponse #10 le: 28 juillet 2008 à 14:59:37 »
On ne me l'avais jamais fait... :P!

Content que ce soit résolu :).

Bonne continuation!
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne M@x

  • Habitué
  • **
  • Messages: 108
    • Upload Images
Re : Re : Nombre minimum de caractère pour recherche dans formulaire
« Réponse #11 le: 29 juillet 2008 à 12:30:33 »
@ m@x :
depuis toujours :P!
En javascript tu ne peux pas écrire "elseif" en revanche tu peux écrire "else if" qui reviens sensiblement au même mais tu ne pourras pas les enchainer à moins de les imbriquer, comme dans l'exemple ci dessus. Ce n'est donc aps réellement un elseif comme on le connait dans PHP par exemple.

J'utilise très peu le javascript pour les formulaire (obselète...) mais je suis sur que le elseif (else if) fonctionne parfaitement. Je peut en imbriquer autant que je le souhaite !
Je ne comprend pas ce que tu pose problème ?!

M@x.

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : [RESOLU] Nombre minimum de caractère pour recherche dans formulaire
« Réponse #12 le: 29 juillet 2008 à 15:11:22 »
Hum je chipote un peu, mais pour hiérarchiser cela simplement :
en PHP une séquence "if,elseif,else" est sur un même "niveau" (symbolisé par des tabulations en règle général);
alors qu'en javascript tu ne fais pas un "elseif" mais un "else if" cad un "else" suivis d'un "if".

Et donc lors d'une instruction "if,elseif,if" en javascript on a en faites "if,else,if,else" sur deux "niveaux".

Hum ouais, grosso modo ça revient au même, mais "séquentiellement" parlant il y a une petite différence.
Chipotage comme je le disais :D.

Ceci étant je confirme que le javascript n'est pas a utiliser pour sécuriser en formulaire, ça ne devrait être employé uniquement pour de l'enrichissement d'interface.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/