Javascript在页面上提交所有表单

mR_*_*r0g 1 javascript forms jsf

我正在使用jsf 1.2.当一个特定的jsp有多个具有指定id的表单时,例如当使用类似下面的东西时,jsf给表单一个看似随机的id.

<ui:repeat>
   <h:form id="repeatingform">
      ...
Run Code Online (Sandbox Code Playgroud)

我想使用javascript提交所有表单.有没有办法在不知道表格的ID的情况下做到这一点?

Jan*_*nen 5

一次提交多个表单实际上是不可能的.问题是每个表单都需要自己单独的请求 - 提交表单基本上类似于单击链接,并且您无法一次打开页面上的所有链接(您可以通过在新选项卡/窗口中打开它们,但那是另一件事)

如果您确实希望将每个表单保持为单独的表单元素,则可以使用Aquatic的示例,

var forms = document.getElementsByTagName("FORM");
for (var i=0; i<forms.length; i++) 
forms[i].submit();
Run Code Online (Sandbox Code Playgroud)

但是submit()使用XMLHttpRequest 替换使用提交表单的代码运行的代码.您可以在后台运行多个XMLHttpRequests.