如何提交没有表格ID且没有提交ID但已知隐藏价值的表格?

时间:2012-01-12 21:38:03

标签: javascript jquery forms

我正在努力的情况是页面上有更多的表单看起来像这样(每个表单中的hiddenId都不同):

<form method="post">
<input type="hidden" name="hiddenId" value="111222">
<input type="submit" value="Proceed">
</form>

<form method="post">
<input type="hidden" name="hiddenId" value="111333">
<input type="submit" value="Proceed">
</form>

如何使用javascript(我不介意使用jQuery)提交包含所需值的hiddenId的特定表单?谢谢你的帮助!

5 个答案:

答案 0 :(得分:7)

这些方面应该让你开始:

var inputs = document.getElementsByTagName("input");
for(var i = 0; i < inputs.length; i++) {
    if(inputs[i].type === "hidden" && inputs[i].value === "111333") {
        inputs[i].form.submit();
    } 
}

如果你可以使用jQuery:

$("input[type='hidden'][value='something']").closest("form").submit();

答案 1 :(得分:6)

document.forms是一个数组。 document.forms[0]是第一个。

元素的工作方式相同:

document.forms[0].elements[0].value等。

您可以循环直到获得该值,然后提交当前表单:

document.forms[x].submit()

答案 2 :(得分:2)

使用var allForms = document.forms;

访问所有表单

根据需要循环访问输入

答案 3 :(得分:1)

您可以使用document.querySelector或在旧浏览器上模拟它的各种JavaScript库之一来查找隐藏的输入元素,然后使用其form属性来访问表单并调用{{1方法。

答案 4 :(得分:0)

您可以在表单和提交按钮中添加ID:

<form method="post" id="form1">
<input type="hidden" name="hiddenId" value="111222">
<input type="submit" value="Proceed" id="submit1">
</form>

<form method="post" id="form2">
<input type="hidden" name="hiddenId" value="111333">
<input type="submit" value="Proceed" id="submit2">
</form>

然后使用jQuery提交表单:

$("#submit1").click(function() {
    form1.submit();
}
$("#submit2").click(function() {
    form2.submit();
}