J'essaie d'ajouter une classe d'erreur à une zone de texte d'entrée pour montrer à un utilisateur que son entrée est invalide.
Dans l'événement de changement, je reçois une référence à, ce que je suppose est le champ de saisie et de le stocker dans une variable.
L'appel de addClass sur la variable ne fonctionne pas comme prévu. J'ai firebugged le code et $ textBox est la zone de texte correcte, donc je ne suis pas sûr de ce qui me manque ici. J'ai beaucoup d'entrées qui ont la classe "edit-budget-local" donc je dois cibler la zone de texte modifiée. Merci.jQuery addClass ne fonctionne pas lors de l'ajout à "this" variable objet
$("input.edit-budget-local").change(function() {
var $textBox = this;
var newValue = $textBox.value;
if (newValue.match(/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/) == null) {
$textBox.addClass("error");
}
});
Ce n'est pas un bogue, c'est juste un détail d'implémentation (peut-être pas avec lequel vous êtes d'accord). – R0MANARMY
@ R0MANARMY oui, accepté, mais dans l'implémentation traditionnelle, il retournera une erreur TypeError: Résultat de l'expression 'nouvelleValeur' [indéfini] n'est pas un objet –
Sauf qu'il n'y a pas de types (vraiment) dans JS. et faire quelque chose comme 'myObject.nonExistenValue =" foo "' crée cette valeur et définit sa valeur à '" foo "'. Mieux vaut considérer les objets JS comme des tableaux associatifs que comme des classes. – R0MANARMY