2010-10-11 3 views
0

J'ai un formulaire où un utilisateur a besoin d'entrer des entrées de temps pour une plage de dates. J'ai besoin de valider ce qu'ils saisissent donc j'espérais pouvoir créer une fonction pour simplement valider une valeur pour m'assurer qu'elle est numérique. Puis attachez cette fonction à chaque zone de texte qui a une classe css de hourmin. Je pense que je suis dans la bonne direction ci-dessous mais je ne suis pas sûr de savoir comment le finir.comment appliquer la fonction javascript à plusieurs zones de texte avec jquery

$(".hourmin").change(function() { 
    //apply this validation call to the textbox which has .hourmin class 
}); 
+0

bien, cherchez-vous '$ (this) .method()'? – jAndy

+0

Cela semble correct. Où avez-vous un problème? – Stephen

+0

À quel problème faites-vous exactement face? – Alpesh

Répondre

0

Définition d'une classe css invalid pour mettre en évidence le champ non valide, utilisez quelque chose comme ceci:

$(".hourmin").change(function() { 
    $(this).toggleClass('invalid', validate($(this).val())); 
}); 

validate() Votre validation et renvoie une valeur booléenne. Jetez un oeil à Validate decimal numbers in JavaScript - IsNumeric() pour une mise en œuvre possible de cela.

0

Vous pouvez utiliser $ (cela) pour obtenir la zone de texte actuel comme un objet jQuery et val() méthode pour obtenir sa valeur.

0

Html:


Date:<input type="text" id="day" size="10" class="date" /> <input type="text" id="month" size="10" class="date" /> <input type="text" id="year" size="10" class="date"/> 

jQuery:


$('.date').change(function(){ 
    var id=$(this).attr("id"); 
    var val = $(this).val(); 
    switch(id) 
    { 
     case "day": 
      //validate day 
      break; 
     case "month": 
      //validate month 
      break; 
     case "year": 
      //validate year 
      break; 
    } 
}); 

espérons que cette aide

0

Merci, ce fut le $ (ce) que je manque. Voici le code final au cas où cela aiderait quelqu'un d'autre.

$(document).ready(function() { 
     $(".hourmin").change(function() { 
      numbers = $(this).val(); 
      $(this).val(numbers.replace(/[^\d]+/g, '')); 
     }); 
    }); 
Questions connexes