我想对只提交一次的表单进行javascript自动提交

我想对只提交一次的表单进行javascript自动提交,javascript,forms,iframe,Javascript,Forms,Iframe,我使用的表单在加载页面时自动提交。body标记如下所示: <body onload="submitForm()"> <form enctype="application/x-www-form-urlencoded" action="http://remote.url.com" method="POST"> function submitForm(){ document.forms[0].submit(); return false; } 这是可行的,

我使用的表单在加载页面时自动提交。body标记如下所示:

<body onload="submitForm()">
<form enctype="application/x-www-form-urlencoded" action="http://remote.url.com" method="POST">
function submitForm(){
    document.forms[0].submit();
    return false;
}

这是可行的,但由于某些原因,它会多次提交。我是JS的初学者,我可以在函数中添加什么来确保它只工作一次呢?

我猜你的HTML中有一个表单标记,但是它有一个action属性吗?也许是这样的:

<form action='/somePageToGoToOnSubmit' method='POST'>
  ...
</form>

...
如果提交时不执行将用户带到另一页的操作,则表单将提交到同一页(根据您的方法,通过GET或POST)。这将导致重新提交循环,除非您添加一个操作将提交发送到其他地方,或者可能处理此服务器端

通常,对于表单,我倾向于将服务器配置为通过POST处理表单提交,然后通过一个方法处理表单提交,并且通常将用户重定向到其他位置,同时使用一个单独的方法来处理GET请求,GET请求仅用于呈现页面。或者类似的东西


另外,我想问一下,您为什么要立即在页面加载中提交表格也许您正在尝试实现的某些功能可以稍微有所不同。

javascript在页面中的位置如何?为什么您返回false?是的,它确实有一个操作,这就是为什么它会多次提交的原因。它可能是收件人端的某个东西。我在一家公司工作,该公司必须通过各种合作伙伴的web表单与他们共享信息。我从数据库中加载数据,然后加载5个独立的iframe,每个iframe中都有一个自动提交表单。这是一个只在内部使用的页面,当然我理解这不是一个很好的设计。你有没有尝试过用Chrome这样的浏览器在JS中添加断点并遵循流程?在五帧中执行此操作可能会产生一些副作用。当所有五个帧都在运行时,它是否会执行重定向循环?当只有一个iframe在运行时,它是否仍会执行重定向循环(注释掉其他iframe)?是的,事实上我就是这样测试的。当这是最终使用它将在一个iframe,但现在我只使用这一种形式。我想这真的是他们这边的事。谢谢你的帮助。