interdire le mot (.on.) dans un champs input

  • Auteur de la discussion Auteur de la discussion trustno1
  • Date de début Date de début
WRInaute occasionnel
Bonjour,

pour interdire le mot .on. dans un champs input j'ai utilisé le code suivant:

Code:
<form method="post" action="frville.php3" onsubmit="return (this.VilleSaisie.value.indexOf('.on.') != -1);"> 

<form method="post" action="frville.php3"> 
Entrer la ville: <input type="text" name="VilleSaisie" size="20"> 
<input type="submit" value=" OK "><br></b><i>(3 caractères minimum)</i> 
</p> 
</form>

mais l'operation se reverse...
merci de m'informer sur les changements à faire pour que cela fonctionne correctement
 
WRInaute impliqué
Salut,

Je ne connais pas grand chose au JS ... pour faire les vérifications de ce genre j'utilise aussi du php : strpos() ou ereg().

Si tu veux empêcher l'utilsateur d'entrer "on" avec la fonction strpos() :

Code:
$str1 = $chaîne à tester
$str2 = vilain mot à détecter

if(strpos($str1, $str2) != FALSE) {
		echo '<script language="JavaScript">;';
		echo 'alert("Le vilain mot a été détecté !");';
	        echo 'javascript:history.back(1);';
		echo '</script>;';
}
else ...

Sinon avec ereg() (sensible à la casse, sinon eregi()):

Code:
if (ereg("on",$str)) {
    echo '<script language="JavaScript">;';
    echo 'alert("Le vilain mot a été détecté !");';
    echo 'javascript:history.back(1);';
    echo '</script>;';
}
else {
...
}

Voilà, j'espère que ça t'aidera

@+
 
Nouveau WRInaute
Salut,

je m'y connais pas trop en javascript mais j'ai remarqué quelques trucs :

- déjà il y a deux balises form :? , en plus, une seule est fermée à la fin ...

- Et puis, si ça fait l'inverse de ce que tu veux, tu n'as qu'à faire l'inverse et ce fera ce que tu veux (Et puis je sais que .indexOf c'est comme InStr en vb ou strstr en php : ça retourne -1 si ça trouve rien et comme tu veux que ça trouve rien il faut mettre = donc == en js)

donc:
Code:
<form method="post" action="frville.php3" onsubmit="return (this.VilleSaisie.value.indexOf('.on.') == -1);">

Entrer la ville: <input type="text" name="VilleSaisie" size="20">
<input type="submit" value=" OK "><br></b><i>(3 caractères minimum)</i>
</p>
</form>

A+
 
Discussions similaires
Haut