Javascript 自动填写表格并提交

Javascript 自动填写表格并提交,javascript,forms,submit,Javascript,Forms,Submit,我在404页面上有一个表单,它自动填充了用户试图找到的地址。我也有javascript,然后自动提交表单 问题是,一旦它自动提交,它就会继续循环,页面也会继续重新加载 我正在尝试编写javascript代码,使其触发一次,然后停止。 脚本在页面加载时触发,这就是导致循环的原因 结果:我需要它在页面加载时启动,页面重新加载,代码检查是否已经重新加载一次,然后停止 对于我的测试,我试图让它弹出一个警告,上面写着“我重新加载了一次”,这样我就知道它工作了 这是到目前为止我的代码 <script

我在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>

window.onload=函数(){
var grabedurl=window.location.href
document.getElementById('badurl')。value=grabedurl;
如果(history.previous!=history.current){alert('I reload one')}
其他的
setTimeout(“document.getElementById('errorsubmit')。click()”,3000);}

您可以将已重新加载或未加载页面的状态添加到URL的查询字符串部分。这应该在您的
表单中执行
操作,例如
操作=“?已提交”


但是,您可能需要考虑替代的方法——例如通过XMLHtpRestQuest提交表单;使用另一个单独的

操作
页面提交表单,或让服务器记录请求。

您可以将页面的状态添加到URL的查询字符串部分。这应该在您的
表单中执行
操作,例如
操作=“?已提交”


但是,您可能需要考虑替代的方法——例如通过XMLHtpRestQuest提交表单;有另一个单独的

操作
页面提交表单,或让服务器记录请求。

我们正在使用一个名为Ektron的内容管理解决方案。这意味着我无法更改表单操作或XML Http请求:(您可以动态地更改表单的
操作
,但它并不漂亮(但是,由于表单不再自动提交,它仍然会优雅地降级)。您是否有表单的
id
可用?Pagenotfound.aspx是否有相同的表单?此表单中的hole页面无效。此表单中可能有3个提交按钮。Ektrons以某种方式跟踪单击的按钮,并仅触发按钮提交操作。-因此,我无法更改注释表单标签。其他提交按钮必须能够启动这些功能。我们正在使用一个名为Ektron的内容管理解决方案。这意味着我不能更改表单操作或XML Http请求。:(您可以动态更改表单的
操作
,但这不会很好(但是,由于表单不再自动提交,因此它仍然会优雅地降级)。您是否有表单的
id
可用?Pagenotfound.aspx是否有相同的表单?此表单中的hole页面无效。此表单中可能有3个提交按钮。Ektrons以某种方式跟踪单击的按钮,并仅触发按钮提交操作。-因此,我无法更改注释表单标签。其他提交按钮必须能够启动这些功能。
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);
    }
}