自动填写表格并提交

时间:2011-02-08 21:27:15

标签: javascript forms submit

我的404页面上有一个表单,其中自动填充了用户试图找到的地址。我也有javascript,然后自动提交该表单。

问题是,一旦它自动提交它就会保持循环并且页面不断重新加载。

我正在尝试将javascript代码发送一次,然后停止。 该脚本在页面加载时触发,以便最终导致循环。

结果:我需要它在页面加载,页面重新加载时触发,代码检查它是否已经重新加载一次然后停止。

对于我的测试,我试图让它弹出一个警告,上面写着“我重新载入一次”只是因为我知道它有效。

这是我目前的代码

<script type="text/javascript">
window.onload = function() { 
var grabedurl = window.location.href
document.getElementById('badurl').value=grabedurl;
if( history.previous != history.current ){alert('I reloaded once')}
else
setTimeout("document.getElementById('errorsubmit').click()", 3000);}
</script>

1 个答案:

答案 0 :(得分:1)

您可以做的是将已经重新加载的页面的状态添加到URL的查询字符串部分。这应该在您form的{​​{1}}中完成,例如action

action="?submitted"

但是,您可能需要考虑其他方法 - 例如通过XMLHttpRequest提交表单;使用另一个单独的window.onload = function() { var form = document.getElementById("aspnetForm"); form.setAttribute("action", form.getAttribute("action") + "&submitted"); var grabedurl = window.location.href; document.getElementById('badurl').value = grabedurl; if (/submitted/.test(window.location.search.substring(1))) { alert('I reloaded once'); } else { setTimeout("document.getElementById('errorsubmit').click()", 3000); } } 页面将表单提交给服务器或让服务器记录请求。