Comment puis-je obtenir ceci: -
Lorsque les types d'utilisateurs personnage comme 'abcd'
puis '>'
(un caractère non valide pour ma demande), je veux mettre le texte à 'abcd'
. Mieux si nous pouvons annuler l'entrée elle-même comme nous le faisons dans l'application winforms. Cela devrait se produire lorsque l'utilisateur tape et pas sur un clic de bouton.Interdire de taper quelques caractères, par exemple ' <', '> 'dans toutes les zones de texte d'entrée en utilisant jquery
Je veux que cela s'applique à toutes les zones de texte de ma page Web. Ce sera facile si la solution est basée sur jQuery. Peut être quelque chose qui va commencer comme ça. $("input[type='text']")
SOLUTION
J'utilisé à la fois de la réponse fournie par @jAndy et @Iacopo (Désolé, ne pouvait pas marquer comme réponse à la fois) comme ci-dessous.
$(document).ready(function() {
//makes sure that user cannot enter <or> sign in text boxes.
$("input:text").keyup(purgeInvalidChars)
.blur(purgeInvalidChars)
.bind('keypress', function(event) {
if (event.which === 62 || event.which === 60)
return (false);
});
function purgeInvalidChars() {
if (this.value != this.value.replace(/[<>]/g, '')) {
this.value = this.value.replace(/[<>]/g, '');
}
}
});
Bien qu'un problème restait encore à-dire qu'il ne permet pas à l'utilisateur de sélectionner du texte dans la zone de texte et cela ne se produit que sur le chrome, fonctionne très bien sur IE (pour la première fois: D), non testé sur Firefox. Il serait heureux si quelqu'un peut trouver une solution pour cela ou espère que les gens de Google le résout: D.
MISE À JOUR
Je l'ai résolu par chèque if (this.value != this.value.replace(/[<>]/g, ''))
. Solution également mise à jour.
Merci encore à tous les répondeurs.
Espérons que vous réalisez déjà, mais notez que la validation côté client ne sera pas empêcher les utilisateurs de soumettre entrée avec un '>', vous devrez donc également effectuer une validation d'entrée côté serveur. – Brian
Merci cerveau! ASP.NET s'en occupe. Il jette une exception d'entrée dangereuse et pour moi il redirigera vers la page d'erreur personnalisée. – IsmailS
Rappelez-vous que la validation d'entrée côté utilisateur n'est jamais suffisante. Vous devriez toujours valider l'entrée du côté serveur. – wlk