Php 页面刷新后HTML表单数组消失

Php 页面刷新后HTML表单数组消失,php,jquery,arrays,ajax,forms,Php,Jquery,Arrays,Ajax,Forms,我有以下html: <html> <body> <div id='refresh'> <form id='form1' action='do.php' method='post'> <input type='checkbox' name='thetickets[]' value='1'> <input type='hidden' name='gender'> <input type='submit' value='

我有以下html:

<html>
<body>

<div id='refresh'>

<form id='form1' action='do.php' method='post'>
<input type='checkbox' name='thetickets[]' value='1'>
<input type='hidden' name='gender'>
<input type='submit' value='Go'>
</form>

</div>


</body>
</html>

以及以下文件:

<script type="text/javascript">
$(document).ready(function() {// REFRESH DIV EVERY 5 SECONDS 
  interval = setTimeout(refreshpage, 5000);
  function refreshpage() {
     $('#refresh').load('page.php?&timer='+new Date().getTime()+' #refresh');
     interval = setTimeout(refreshpage, 5000);
  }   
});
</script>

<script type="text/javascript"> /SUBMIT FORM
$(document).ready(function() { 
    var options = { 
        target:        '',
        dataType:      'html',          
        beforeSubmit:  showRequest_reassign,        
        success:       showResponse_reassign
    }; 

    $("#refresh").delegate("#form1,"submit",function () {
        clearTimeout(interval); 
        $(this).ajaxSubmit(options); 
        return false;
    });

});
function showRequest_reassign(formData, jqForm, options){
    return true; 
}
function showResponse_reassign(responseText, statusText, xhr, $form){
   alert(responseText)
}
</script>

$(文档).ready(函数(){//每5秒刷新一次DIV
间隔=设置超时(刷新页面,5000);
函数刷新页面(){
$('#refresh').load('page.php?&timer='+newdate().getTime()+'#refresh');
间隔=设置超时(刷新页面,5000);
}   
});
/提交表格
$(文档).ready(函数(){
变量选项={
目标:“”,
数据类型:“html”,
提交前:显示请求\u重新分配,
成功:showResponse\u重新分配
}; 
$(“#刷新”).delegate(#form1,“submit”,函数(){
清除超时(间隔);
$(此).ajaxSubmit(选项);
返回false;
});
});
函数showRequest\u重新分配(formData、jqForm、options){
返回true;
}
函数showResponse\u重新分配(responseText、statusText、xhr、$form){
警报(响应文本)
}
如果我在5秒钟之前提交表单,表单会正确提交,但是如果我等待5秒钟,页面会刷新,我会提交表单,但是输入类型“thetickets[]”不会提交。我检查开发人员工具、表单数据,甚至“thetickets[]”值都不存在……我不知道为什么


谢谢,

我在这段代码中发现的唯一一件事(除了上面提到的打字错误)是,您的“thisurl”变量必须是一个php页面,并且在查询字符串中必须已经有其他变量


注意:如果您确实选中了该框,您将只能获得
$thetickets
数组。

我想在这里发布您的代码和编辑,它可能会帮助您找到问题:

<html>
<body>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {// REFRESH DIV EVERY 5 SECONDS 
  interval = setTimeout(refreshpage, 5000);
  function refreshpage() {
     var thisurl = document.URL;
     $('#refresh').load(thisurl + '?timer='+new Date().getTime()+' #refresh');
     interval = setTimeout(refreshpage, 5000);
     console.log("reloaded");
  }   
});
</script>

<script type="text/javascript"> //SUBMIT FORM
$(document).ready(function() { 
    var options = { 
        target:        '',
        dataType:      'html',          
        beforeSubmit:  showRequest_reassign,        
        success:       showResponse_reassign
    }; 

    $("#refresh").delegate("#form1","submit",function () {
        clearTimeout(interval); 
        $(this).ajaxSubmit(options); 
        return false;
    });

});
function showRequest_reassign(formData, jqForm, options){
    return true; 
}
function showResponse_reassign(responseText, statusText, xhr, $form){
   alert(responseText)
}
</script>

<div id='refresh'>

<form id='form1' action='http://atlantis.cit.ie/displayvalues.php' method='post'>
<input type='checkbox' name='thetickets[]' value='1'>
<input type='hidden' name='gender'>
<input type='submit' value='Go'>
</form>

</div>


</body>
</html>

$(文档).ready(函数(){//每5秒刷新一次DIV
间隔=设置超时(刷新页面,5000);
函数刷新页面(){
var thisurl=document.URL;
$(“#刷新”).load(thisurl+”?计时器=“+新日期().getTime()+”#刷新”);
间隔=设置超时(刷新页面,5000);
控制台日志(“重新加载”);
}   
});
//提交表格
$(文档).ready(函数(){
变量选项={
目标:“”,
数据类型:“html”,
提交前:显示请求\u重新分配,
成功:showResponse\u重新分配
}; 
$(“#刷新”).delegate(“#form1”,“submit”,函数(){
清除超时(间隔);
$(此).ajaxSubmit(选项);
返回false;
});
});
函数showRequest\u重新分配(formData、jqForm、options){
返回true;
}
函数showResponse\u重新分配(responseText、statusText、xhr、$form){
警报(响应文本)
}

如果您能向我提供有关您所收到错误的更多信息,我将非常乐意提供帮助!

发现问题,我的原始代码的结构不正确

<div>

<form>

</div>

</form>


删除了div,现在表单可以正常工作。

您的代码中有几个拼写错误,我假设这些错误没有出现在您的实际代码中,对吗?我修复了您代码中的拼写错误,并在我的计算机上运行了它,我可以很好地获取所有数据,无论我是否等待重新加载,也不确定当时发生了什么。我确实检查了框s