Remplacement de caractères à l'aide de jQuery
Je suis en train de supprimer les virgules de tous mes zones de texte sur la keyup. Je suis venu avec le script ci-dessous mais ça ne fonctionne pas. N'importe qui peut voir ce que je fais de mal?
<script>
$("input[type='text']").keyup
(
function ()
{
alert('1');
$(this).val($(this).val().replace(/[,]/g, ""));
}
);
</script>
REMARQUE: excusez $ dans le Script. DONC, ne me permet pas de poster sinon...
est <$cript> à droite?
Est l'alerte de tir?
Non, l'alerte n'est pas fireing.
Il ressemble à quelqu'un a réussi à l'enregistrer avec la bonne balise de script. Veuillez lire la NOTE que j'ai ajoutée sur le $ dans le script
Il fonctionne très bien, vous êtes juste en manque
Est l'alerte de tir?
Non, l'alerte n'est pas fireing.
Il ressemble à quelqu'un a réussi à l'enregistrer avec la bonne balise de script. Veuillez lire la NOTE que j'ai ajoutée sur le $ dans le script
Il fonctionne très bien, vous êtes juste en manque
$(document).ready
. Mais pourquoi êtes-vous à l'aide d'une regex? C'est une simple chaîne de caractères de remplacement.OriginalL'auteur Abe Miessler | 2010-09-07
Vous devez vous connecter pour publier un commentaire.
Vous pourriez vouloir envelopper l'ensemble de bloc de code dans un document prêt de la fonction
Vous pouvez lire à ce sujet sur le jQuery site de documentation.
OriginalL'auteur jessegavin
Comme d'autres l'ont mentionné, assurez-vous que vous êtes en utilisant $(document).prêt() - http://api.jquery.com/ready/. Aussi, au lieu de remplacer les virgules sur keyup, vous devriez désactiver sur pression de touche, en retournant false:
Exemple: http://jsfiddle.net/QshDd/
Cela donne un plus professionnel, de le sentir, de le "," est bloqué sans apparaître et de disparaître ensuite lorsque vous relâchez la touche. Comme votre solution, cependant, cela ne prends pas de copier et de coller des virgules dans votre entrée. Pour cela, vous pouvez brancher dans le onpaste ou onchange événement.
Si vous voulez coller avec keyup et de le remplacer, vous n'avez pas vraiment besoin de se compliquer la vie avec jQuery emballages, vous pouvez accéder à la valeur directement la propriété:
$(document).ready()
."merci 🙂 Hélas, j'ai peur de l'OP peut avoir sauté de mes conseils.
+1 pour une bonne réponse. Je suis d'accord avec Josh.
Et que dire de
<input type="number">
? Essayez-tu mettre ici des personnages comme 555s. Il ne remplace pas seulement à caractère non numérique, mais l'ensemble d'entrée. Où est le problème?lorsqu'un
<input type="number">
a une valeur qui n'est pas un nombre, sonvalue
propriété est une chaîne vide. Par conséquent, vous ne pouvez pas faire de chaîne de remplacement pour les caractères non numériques. Je voudrais prendre un coup d'oeil à la première partie de ma réponse et de rejeter à tort l'entrée tout à fait.OriginalL'auteur Andy E
Ça fonctionne pour moi: http://jsfiddle.net/vsnrc/1/
OriginalL'auteur aularon
Si votre entrée est dans un panneau de mise à jour ou ajouté après la liaison a lieu, cela devrait fonctionner.
OriginalL'auteur bevacqua
Essayer cette
OriginalL'auteur Maulik Vora