I am creating a form validation plugin for jQuery and would like it to call a function once the form has been successfully validated. The plugin will have a default callback function, but I would like to modify this through the options parameter. Unfortunately what i have (below) does not work. Any ideas?
(function($){
$.fn.extend({
validify : function(options) {
var defaults = {
callback: "callbackFunc",
};
var options = $.extend(defaults,options);
return this.each(function(){
//validation code here
//if valid call the function
if(errors==0){
options.callback;
}
function callBackFunc(){
// the default callback function
}
...
I am creating a form validation plugin for jQuery and would like it to call a function once the form has been successfully validated. The plugin will have a default callback function, but I would like to modify this through the options parameter. Unfortunately what i have (below) does not work. Any ideas?
(function($){
$.fn.extend({
validify : function(options) {
var defaults = {
callback: "callbackFunc",
};
var options = $.extend(defaults,options);
return this.each(function(){
//validation code here
//if valid call the function
if(errors==0){
options.callback;
}
function callBackFunc(){
// the default callback function
}
...
Share
Improve this question
edited Jun 12, 2009 at 5:58
Paolo Bergantino
489k82 gold badges522 silver badges437 bronze badges
asked Jun 12, 2009 at 5:55
Neil MillsNeil Mills
2 Answers
Reset to default 6Remove the quotes and you're golden.
This will pass a function reference. You can then call it by doing options.callback();
You will also need to declare the function before you pass the reference along. You could get around this by doing this instead:
callback: function() { callbackFunc(); }
Pass the function itself, rather than its name (ie, remove the quotes):
(function($){
function callBackFunc(){
// the default callback function
}
$.fn.extend({
validify : function(options) {
var defaults = {
callback: callbackFunc // IMPORTANT: remove quotes AND trailing ma
};
var options = $.extend(defaults,options);
return this.each(function(){
//validation code here
//if valid call the function
if(errors==0){
options.callback(); // note parentheses
}
...
发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745664808a4639059.html
评论列表(0条)