<form name="myForm" id="myForm" action="test.php" method="POST">
<p>
<input name="test" value="test" />
</p>
<p>
<input type="submit" name="submit" value="Submit" />
</p>
</form>
<script>
var auto_refresh = setInterval(
function()
{
submitform();
}, 10000);
function submitform()
{
alert('test');
document.myForm.submit();
}
</script>
一旦登录到页面上,我在尝试每10秒自动提交一次表单时就遇到了问题。表单名称为myForm action="test.php"
。我收到'test'
消息,但是页面没有提交表单。
除了在页面加载时自动加载函数之外,还有什么解决方案吗?
修复:从提交按钮中移除了(name="submit"
),并且工作顺利。
发布于 2012-09-12 03:05:14
你需要指定一个框架,一个目标,否则你的脚本将在第一次提交时消失!
使用document.forms["myForm"]
更改document.myForm
<form name="myForm" id="myForm" target="_myFrame" action="test.php" method="POST">
<p>
<input name="test" value="test" />
</p>
<p>
<input type="submit" value="Submit" />
</p>
</form>
<script type="text/javascript">
window.onload=function(){
var auto = setTimeout(function(){ autoRefresh(); }, 100);
function submitform(){
alert('test');
document.forms["myForm"].submit();
}
function autoRefresh(){
clearTimeout(auto);
auto = setTimeout(function(){ submitform(); autoRefresh(); }, 10000);
}
}
</script>
发布于 2012-09-12 03:11:21
尝试使用document.getElementById("myForm")
而不是document.myForm。
<script>
var auto_refresh = setInterval(function() { submitform(); }, 10000);
function submitform()
{
alert('test');
document.getElementById("myForm").submit();
}
</script>
发布于 2015-10-08 18:51:49
延迟自动提交的一种简单解决方案
<body onload="setTimeout(function() { document.frm1.submit() }, 5000)">
<form action="https://www.google.com" name="frm1">
<input type="hidden" name="q" value="Hello world" />
</form>
</body>
https://stackoverflow.com/questions/12376173
复制相似问题