我正在使用在加载页面时自动提交的表单。 body标签如下所示:
<body onload="submitForm()">
表单标记如下所示:
<form enctype="application/x-www-form-urlencoded" action="http://remote.url.com" method="POST">
和javascript(放在标题中)如下所示:
function submitForm(){
document.forms[0].submit();
return false;
}
这样可行,但由于某种原因提交了多次。我是JS的初学者,我可以在函数中添加什么来确保它只能运行一次?
答案 0 :(得分:2)
我猜你的HTML中有一个表单标签,但是它有一个action属性吗?也许是这样的事情:
<form action='/somePageToGoToOnSubmit' method='POST'>
...
</form>
如果没有在提交时将用户带到另一个页面的操作,表单将提交到同一页面(根据您的方法通过GET或POST)。这将导致重新提交循环,除非您添加操作以将提交发送到其他位置,或者可能处理此服务器端。
通常使用表单我倾向于将服务器配置为通过POST处理表单提交,然后由方法处理 - 并且通常会将用户重定向到其他地方,同时使用单独的方法来处理仅使用的GET请求渲染页面。或者是那种效果。
另外,请问您为什么要立即在页面加载时提交表单? - 也许你想要达到的目标可能略有不同。