[英]$_GET PHP form variable AJAX check 404 then submit form
我在页面上有一个接受“ ID”的表格,用户输入ID,例如; 1026
表单提交到同一页面,Ajax抓住ID将其对照另一个站点进行检查。 如果响应不是404错误且$ _GET为true,则我需要能够让表单发布。
这是我所拥有的
<script>
$(document).ready(function(){
$('form#getid').submit(function(){
var theid = $('input#id').val();
var dataString = "id=" + theid;
$.ajax({
type: "POST",
data: dataString,
success: function(response, status, xhr){
if(status=="success") {
$("#err-404").html(response);
}
else { alert(status+ ' - '+ xhr.status); }
}
}
});
});
return false;
});
</script>
我的表格
<form id="getid" action="">
<input type="text" name="id" />
<input type="submit" class="button" value="Go">
<div class="error" id="err-404"></div>
我认为我走的路是正确的,只是不确定如何将它们放在一起。
首先,如果您不必为数据使用字符串,则不必。 您可以使用如下数组:
$.ajax({
type: "POST",
data: {'id': theid },
这更干净,更易于维护。
关于您的问题,您的代码有点不清楚,但是您可能应该做的是在Submit()事件的末尾return false
以防止表单提交,然后在AJAX事件中返回(如果已清除了提交),做一个$('#getid').submit()
。 您可能必须设置要检查的某种标志(隐藏的输入或数据属性),以避免再次检查AJAX触发的提交,从而导致无限循环。
此处需要注意:404应该会触发AJAX处理程序中的error()
回调,因此404不会触发您设置的成功回调。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.