2014-02-27 64 views
0

我有如下的多个表单。该网页是动态的,我不能说有多少表格将被呈现在里面。在按钮上点击其他表单对象点击

<form name="f1" action="submit.php" method=POST> 
<input type="hidden" name="approve1" value="93545" /> 
<input type="submit" value="Submit/> 
</form> 

<form name="f2" action="submit.php" method=POST> 
<input type="hidden" name="approve2" value="93545" /> 
<input type="submit" value="Submit/> 
</form> 

..... 

<input type="button" value="Submit All"/> 

当我点击“提交所有”值的所有形式 - approve1,approve2,在示例 - 应在页面提交。

任何帮助jquery或Javascript的赞赏!

+0

是否有可能向我们展示您尝试了什么? –

+0

@JayBlanchard:我可以通过运行一个循环来获得固定的表单数量来完成它的工作。但我无法提交;此外,我无法找到动态提交的逻辑 – logan

+0

@Jay:我很满意新的页面加载。但它应该只发生一次,我需要捕获所有不同形式的数据。怎么做 ? – logan

回答

2

要一次提交所有输入,您必须创建一个新的<form>。 这可以动态使用jQuery来完成:

$(function() { 
    $("#submitAll").click(function(ev) { 
     ev.preventDefault(); 
     var newForm = $("<form action='/echo/html/' method='POST'></form>"); 
     $("form input[type='hidden']").each(function(i, e) { 
      newForm.append(
       $("<input type='hidden' />") 
        .attr("name", e.name) 
        .attr("value", e.value) 
      ); 
     }); 
     $(document.body).append(newForm); 
     newForm.submit(); 
    }); 
}); 

这里有一个jsFiddle

不过,我建议你采用不同的方法。您的提交按钮可以以单一形式提供您需要的所有信息。

<form name="f1" action="submit.php" method="POST"> 
    <button type="submit" name="approve" value="93545"> 
     Approve 1 
    </button> 
    <button type="submit" name="approve" value="12345"> 
     Approve 2 
    </button> 
    <button type="submit" name="approve" value="93545,12345"> 
     Approve All 
    </button> 
</form> 
+0

我怎样才能读取它在表单提交页面与小提琴的例子? – logan

+1

在Chrome中,您可以转到开发人员工具“网络”,然后在单击“提交”时选择最后一个请求。详细信息将在** Request Header ** – wizulus

+0

谢谢。但我如何使用它在提交页面中进行处理。同样,我不知道在提交页面中有多少批准隐藏类型。请建议; 'Submit Page is a PHP' – logan