2
Markup:plugin jQuery, la valeur de retour de la fonction
<input type="text" name="email" />
code:
$(':text').focusout(function(){
$(this).validate(function(){
$(this).attr('name');
});
});
Plugin:
(function($){
$.fn.validate = function(type) {
return this.each(function(type) {
if (type == 'email') {
matches = this.val().match('/[email protected]+\..{2,7}/');
(matches != null) ? alert('valid') : alert('invalid');
}
/*else if (type == 'name') {
}
else if (type == 'age') {
}
else if (type == 'text') {
}*/
else {
alert('total failure');
}
});
};
})(jQuery);
Le problème est que lorsque j'exécute le code ci-dessus, il court le plugin comme si le type était une chaîne: "function() { $ (this) .attr ('name'); });" au lieu de l'exécuter en tant que fonction. Comment puis-je résoudre ceci?
Appeler $ (this) .validate ($ (this) .attr ('nom'))? En outre, utilisez $ (this) .val() au lieu de this.val(). – jweyrich