[英]jQuery to prevent form from submit does not work - asp classic
我正在调用Submit函数,以检查是否完成了所需的上载,如果数据库中没有上载,则不应提交表单。
通过使用alert,我可以看到我的checkuploads.asp返回正确的值,并且它显示的警告是未找到数据,但没有阻止表单提交。
$(window).load(function() {
$('#Save').click(function() {
$.ajax({
type: "POST",
url: "checkuploads.asp?value=" + $('#RequestNo').val(),
success: function(data) {
if (data === "Not Found") {
alert("the data was not found");
data.preventDefault();
window.history.back();
return false;
} else
if (data === "Found") {
alert("the data was found");
alert(data);
}
}
});
});
});
提前致谢。
因为您使用的是ajax
请求,所以在提交表单之前,响应将花费一些时间。 因此,您需要return false;
在ajax调用之后。
$(window).load(function() {
$('#Save').click(function() {
$.ajax({
type: "POST",
url: "checkuploads.asp?value=" + $('#RequestNo').val(),
success: function(data) {
if (data === "Not Found") {
alert("the data was not found");
//data.preventDefault();//Remove this un-necessary line
window.history.back();
//return false;//Remove this too. It is un-necessary
} else
if (data === "Found") {
alert("the data was found");
alert(data);
//Replace the form id with correct one
("#myForm").submit();//Add this line
}
}
});
return false;
});
});
这是完整的示例:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta charset="UTF-8">
<script src="jquery-3.2.1.min.js" type="text/javascript"></script>
</head>
<body>
<div>
<form id="myForm" action="/my-listener">
<input type="text" name="RequestNo" id="RequestNo" />
<input type="button" id="Save" value="Save" />
</form>
</div>
<script>
$(document).ready(function() {
$('#Save').click(function() {
$.ajax({
type: "POST",
url: "checkuploads.asp?value=" + $('#RequestNo').val(),
success: function(data) {
if (data === "Not Found") {
alert("the data was not found");
window.history.back();
} else if (data === "Found") {
alert("the data was found");
alert(data);
$("#myForm").submit();
}
}
});
return false;
});
});
</script>
</body>
</html>
尝试这个:
$(window).load(function() {
$('#Save').click(function(e) {
e.preventDefault();
$.ajax({
type: "POST",
url: "checkuploads.asp?value=" + $('#RequestNo').val(),
success: function(data) {
if (data === "Not Found") {
alert("the data was not found");
data.preventDefault();
window.history.back();
return false;
} else
if (data === "Found") {
alert("the data was found");
window.location.replace( "checkuploads.asp?value=" + $('#RequestNo').val()); // you can chanbge url as per your need
// in case of form use
$('#form').submit();
alert(data);
}
}
});
return false;
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.