Object has no method "find" avec plugin perso
Bonjour,
Je suis entrain de développer mon premier plugin Jquery et j'avoue avoir bcp de mal à comprendre l'objet this, $(this), ...
J'ai un message d'erreur qui survient "Object has no method 'find'" ce qui me fait douter que pour cette méthode, mon objet this (ou $(this)) ne correspond pas.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
(function($){
// Methodes
var methods = {
'init' : function(arguments){
// Lorsque le formulaire est valide
this.bind('submit', function(event){
// On empeche l'envoi
event.preventDefault();
$(this).sendForm('loading', true);
// On execute notre requete AJAX
$.post("une url",
$(this).serialize(),
function(data){
for(idx in data){
var current = data[idx];
$(this).find('[name*="' + current.key + '"]').after('<span class="erreur_form">' + current.message + '</span>');
}
$(this).sendForm('loading', false);
},
"json");
});
return this;
},
'loading' : function(){
alert("En cours"
return this;
}
};
// Point de lancement
$.fn.sendForm = function(method){
if(methods[method]){
return methods[method].apply(this, Array.prototype.slice.call(arguments,1));
}
else if(typeof method === 'object' || !method){
return methods.init.apply(this, arguments);
}
else {
$.error('Method ' + method + ' does not exist');
}
};
})(jQuery); |
et voici l'appel :
Code:
$('form').sendForm();
Merci pour vos explications,
Nainfou