function populateAndSend() {
var _url = "..." + var1 + var2 + var3
$.ajax({
type: 'get',
url: _url
})
};
$('#tryitForm').validate({
rules: {
...
},
submitHandler: function (form) {
$.when(populateAndSend()).then(form.submit()); <<< does not work
}
});
2个问题,when().then()似乎不起作用,并且触发了form.submit()时,它将我重定向回我的页面,但是将var1,var2和var3作为参数添加到我的页面,因此可以说我的网站网址是http://localhost/home/index,它将重定向到http://localhost/home/index?var1=xxx&var2=xxx&var3=xxx?
我不明白为什么会这样?
最终版本:
// function call, to pass message to telegram bot
function populateAndSend() {
var _url = "..." + var1 + var2 + var3
return $.ajax({
type: 'get',
url: _url
})
};
// form validation
$('#tryitForm').validate({
rules: {
xxx
},
submitHandler: function (form) {
populateAndSend();
return false;
}
});
解决方法:
您无需在提交处理程序中调用form.submit(),表单提交是使用$.ajax()完成的.改成:
$('#tryitForm').validate({
rules: {
...
},
submitHandler: function () {
populateAndSend();
return false;
}
});
返回false;提交处理程序中的告诉验证插件不要进行常规表单提交.