【发布时间】:2017-09-02 20:40:19
【问题描述】:
我正在使用带有 onsubmit 标记的表单。在 onsubmit 函数中,我将调用 ajax,我将在成功函数中返回 true,在错误部分返回 false。 但总是表单已提交。
html
<form action="/" method="post" onsubmit="return formsubmit()">
脚本
function formsubmit() {
"use strict";
var isBasic = $(".test").val() //this is hidden element
if (isBasic === "true") {
return true;
}
if (isBasic === "false") {
$.ajax({
type: "post",
url: "/",
data: "sample",
success: function (data) {
if (data.success) {
return true;
}
if (!data.success) {
return false;
}
},
error: function () {
}
});
}
}
}
这对我不起作用。始终提交表单。 请帮我解决这个问题。
【问题讨论】:
-
您在哪里提交表单?
-
请弹琴?
-
只使用
url: "/", data: "sample",async:true,虽然这是一个不好的方法,因为它会停止页面 -
在所有情况下都从
formsubmit()返回 false,然后在您的 ajax 响应中调用$("#form").submit()而不是 return true;