我需要在致电另一个表格之前提交表格。
我有这个:
$('#Add_New').unbind("click").on("click", function (evt) {
$("#frmNew").validate();
if ($("#frmNew").valid()) {
$("#frmNew").submit();
var urlNew = $('#pollUrl').data('url-new-question');
location.href = urlNew;
}
});
我的表格:
@using (Html.BeginForm("PollNew", "Poll", FormMethod.Get, new { id = "frmNew" }))
但它没有调用提交的C#代码。 我怎么能这样做?
答案 0 :(得分:0)
我不确定你在这里要做什么......
$('#Add_New').unbind("click").on("click", function (evt) {
$("#frmNew").validate();
if ($("#frmNew").valid()) {
$("#frmNew").submit();
var urlNew = $('#pollUrl').data('url-new-question');
location.href = urlNew;
}
});
但是,我可以告诉你.validate()
是插件的初始化方法,并且不会在click()
事件处理程序内调用。它通常在DOM Ready事件处理程序中被称为一次,以初始化表单上的验证插件以及您定义的规则&选项。
其次,您不需要以编程方式检查表单是否有效并手动调用.submit()
。这就是submitHandler
回调函数的用途...它仅在表单有效时调用,并在此时自动提交表单。
submitHandler: function(form) {
// stuff to do when the form is valid.
// you can use ajax to submit the data here
// then do something else
}
最后,我不知道您将如何执行.submit()
然后再执行location.href
...表单的正常提交操作将重定向到新的之前的页面 location.href
可以执行任何操作。