我有一个form
;
<div id="mainDiv">
<form>
<input name="input1" />
<input name="input2" />
<input name="input3" />
<input name="input4" />
<button id="showForm">Show Form</button>
<button id="sendForm">Submit Form</button>
</form>
</did>
这是我的jQuery
插件。
(function(o){
o.fn.validateInputs = function(options){
var settings = $.extend({
submitButton:'',
submitFunction : function(){
return ""
},options);
$(settings.submitButton).on('click',function(){
//......run the FunctionOfChoiceHere!
//...I tried.
console.log(settings.submitFunction) // This logs an Empty Function
})
}
})(jQuery);
和将军jQuery
:
$('#showForm').on('click',function(){
$('#mainDiv').fadeIn()
var form = $(this).closest('form');
var formData =$(form).serialize();
$('input',form).validateInputs({
submitFunction :myFunctionOfChoice(formData),
submitButton:'#submitForm'
})
})
现在myFunctionOfChoice
.
function myFunctionOfChoice(data){
console.log(data);
}
问题是,当单击showForm
按钮时,它会自动运行myFunctionOfChoice
数据logs
......这正是我不想要的。我要求的是,只有当我点击按钮时才console
应该这样做。我怎样才能做到这一点?log
submitForm
任何帮助表示赞赏!