我有多种形式,如下所示。这个页面是动态的,我不能说里面会有多少表格。
<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 :(得分: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>