3

我有多个表单的隐藏字段

<input type="hidden" class="mail-contacts" name="to[]" value="abc1">
<input type="hidden" class="mail-contacts" name="to[]" value="abc2">
<input type="hidden" class="mail-contacts" name="to[]" value="abc3">

对于不同的情况,隐藏字段的数量可以不同。如何获取这些隐藏字段的值?由于这是一个数组,所以无法使用

document.getElementById('')

我需要获取这些隐藏字段的值,然后将其作为查询参数传递。请帮帮我。我怎样才能做到这一点?

4

5 回答 5

2

jQuery:

<script type='text/javascript' src='http://code.jquery.com/jquery-latest.min.js'>
<script type='text/javascript'>
    var lst_to = [];
    $("input:hidden.mail-contacts").each(function() {
        lst_to.push($(this).val());
    });
    var str_query = "?to=" + lst_to.join();
</script>

jsFiddle

于 2013-07-23T08:10:31.533 回答
2
 document.getElementsByName("hiddenfieldsname")

使用上述函数,这将返回具有相同名称的元素数组

于 2013-07-23T05:44:53.540 回答
2

我想这样的事情应该可以工作......

var values = [],
    inputs = document.querySelectorAll('input[type="hidden"].mail-contacts');

for (var i = 0; i < inputs.length; i++) {
    values.push(inputs[i].value);
}

您可以使用任何类型的查询选择器。例如,如果您想要所有带有名称的隐藏输入to[]

var searchName = 'to[]';

inputs = document.querySelectorAll('input[type="hidden"][name="' + searchName + '"]');
于 2013-07-23T05:48:38.383 回答
1

你可以这样做:

var array = getElementsByClassName("mail-contacts");
for(i = 0; i < array.length; i++) {
    array[i]
}
于 2013-07-23T05:47:36.407 回答
0

如果您使用的是 jQuery,请尝试以下操作:

var arrayValues = $('input:hidden.mail-contacts').map(function(){
                      return $(this).val()
                  }).get();
于 2015-10-27T10:03:36.937 回答