Javascript 在JQuery验证之后运行JS函数

Javascript 在JQuery验证之后运行JS函数,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我有一个WebForm,一旦经过验证,就会通过SQL查询写入数据库。 我可以获得独立工作的验证。 我可以让数据独立写入(当我向按钮添加onclick事件时)。 但我不能让他们一个接一个地工作。 在jQuery验证成功后,如何调用javascript函数?代码可以在下面看到 activitylog.html <form action="javascript:;" id="form_rptActivityLog"> <input id="txtShiftDate" type

我有一个WebForm,一旦经过验证,就会通过SQL查询写入数据库。 我可以获得独立工作的验证。 我可以让数据独立写入(当我向按钮添加onclick事件时)。 但我不能让他们一个接一个地工作。 在jQuery验证成功后,如何调用javascript函数?代码可以在下面看到

activitylog.html

<form action="javascript:;" id="form_rptActivityLog">
    <input id="txtShiftDate" type="text" class="form-control date-picker" name="txtShiftDate"/>
    <input type="submit" id="btnSave" value="Save" title="Save" class="btn blue-hoki" />
</form>

<script type="text/javascript">
function saveData() { // ... SQL DATA WRITE HERE ... // }
</script>
我得到的错误是: JavaScript运行时错误:对象不支持属性或方法“提交”

非常感谢您的帮助

var rptActivityLogValidation = function() {
    var form = $('#form_rptActivityLog')[0];

    form.validate({ 
        // .... VALIDATE FIELDS HERE ..... //

        submitHandler: function (form) {
            form.submit(); // submit the form
        }
     });
}
您可以尝试这样做——将
表单
var设置为特定表单
[0]
。 由于您将其传递给submitHandler,因此不需要在其内部使用
[0]
。这将确保您实际上正在为表单添加标签


尽管我们需要看看你怎么称呼submitHandler。你真的把表格传进去了吗

在验证后但在表单提交之前要运行的任何函数都将进入
submitHandler的内部;这和你的
成功没有什么不同。show()
等等

submitHandler: function (form) {
    // form is valid and ready to submit
    // do stuff here
    success.show();
    error.hide();
    form.submit(); // submit the form
}

你能告诉我们你是如何调用submitHandler方法的吗?只是一个问题,你正在调用
表单。验证
那么你为什么要调用
表单[0]。提交
。它不应该是
表单。submit
@Rajesh
表单。submit()
将触发使用jQuery绑定的任何submit事件,而不是
表单[0]。submit()
但是
表单
不应该是使用
表单[0]的数组。submit
?错误清楚地表明表单[0](对象)没有提交事件为什么要将
.validate()
方法放在函数中?
.validate()
方法仅用于初始化表单上的验证插件,只需在DOM就绪事件处理程序中调用一次。正如其他人所说,您只需要
form.submit()
。。。但是,如果
submitHandler
选项中没有其他内容,您可以完全删除它,因为您的代码与默认代码几乎相同。他没有调用
submitHandler
submitHandler
是插件的
.validate()
方法的一个选项。这是一个在表单有效且单击提交按钮时触发的回调。如何在此代码块中调用
函数saveData()
?@rak11,您是否尝试过
saveData()
?与使用任何JavaScript代码调用它一样。您是正确的。谢谢你向我指出显而易见的事实。
submitHandler: function (form) {
    // form is valid and ready to submit
    // do stuff here
    success.show();
    error.hide();
    form.submit(); // submit the form
}