单击按钮时POST其他Form对象

时间:2014-02-27 17:13:59

标签: javascript jquery html

我有多种形式,如下所示。这个页面是动态的,我不能说里面会有多少表格。

<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的任何帮助表示赞赏!

1 个答案:

答案 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>