繁体   English   中英

$ _GET PHP表单变量AJAX检查404,然后提交表单

[英]$_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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM