Mon script est la suivante:Pourquoi IE ne prend-il pas en charge mon script de blocage de caractères spéciaux dans mes champs de saisie?
var emailmask = /^[a-z0-9.]/g;
function restrictCharacters(myfield, e, restrictionType) {
if (!e) var e = window.event
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code);
if (code==27) { this.blur(); return false; }
if (!e.ctrlKey && code!=9 && code!=8 && code!=36 && code!=37 && code!=38 && (code!=39 || (code==39 && character=="'")) && code!=40) {
if (character.match(restrictionType)) {
return true;
} else {
return false;
}
}
}
L'entrée:
<input type="text" name="fx_username" value="asd" id="username" class="normal email need" onkeypress="return restrictCharacters(this, event, emailmask);"/>
Il ne fonctionne tout simplement pas avec IE, mais FF, le chrome est correct. Pourriez-vous m'aider dans ce cas s'il vous plaît?
Editer: Cela ne fonctionne pas, il ne supprime pas les caractères spéciaux comme @ {} ¤ $ ß.
Définir "ne fonctionne pas". Ce qui se produit? –
Votre regex est horrible pour la validation par e-mail btw .. que se passe-t-il si j'ai '-' ou' _' ou '+' (oui, ceci est parfaitement valide) dans mon adresse e-mail? – ThiefMaster
Vous ne devez pas utiliser de nombres magiques; mieux utiliser les constantes de [KeyEvent] (http://www.w3.org/TR/2000/WD-DOM-Level-3-Events-20000901/events.html#Events-KeyEvent) à la place. – Gumbo