我想制作一个只提交一次的表单的javascript自动提交

时间:2014-03-26 22:09:36

标签: javascript forms iframe

我正在使用在加载页面时自动提交的表单。 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的初学者,我可以在函数中添加什么来确保它只能运行一次?

1 个答案:

答案 0 :(得分:2)

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

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

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

通常使用表单我倾向于将服务器配置为通过POST处理表单提交,然后由方法处理 - 并且通常会将用户重定向到其他地方,同时使用单独的方法来处理仅使用的GET请求渲染页面。或者是那种效果。

另外,请问您为什么要立即在页面加载时提交表单? - 也许你想要达到的目标可能略有不同。