JavaScript - 从数组中的多个输入获取值

Ham*_*ran 4 javascript input

我试图从数组中使用相同id的多个输入获取值.我已经使用过论坛了,但还没有为我找到解决方案.

〔实施例

<input type="hidden" value="'+image_url+'" name="webcampics[]" id="webcampics">
<input type="hidden" value="'+image_url+'" name="webcampics[]" id="webcampics">
<input type="hidden" value="'+image_url+'" name="webcampics[]" id="webcampics">
<input type="hidden" value="'+image_url+'" name="webcampics[]" id="webcampics">


  var elem = document.getElementById("webcampics");
  var names = [];
  for (var i = 0; i < elem.length; ++ i) {
     names += elem[i]+'|';
  }
  var webcamval = names;
Run Code Online (Sandbox Code Playgroud)

jAn*_*ndy 6

您不应该在文档中包含具有相同ID的元素.ID根据规范,在整个标记中必须是唯一的.如果你这样做,那么类似的方法document.getElementById只会匹配第一次出现.

用a class代替ids.

<input type="hidden" value="'+image_url+'" name="webcampics[]" class="webcampics">
<input type="hidden" value="'+image_url+'" name="webcampics[]" class="webcampics">
<input type="hidden" value="'+image_url+'" name="webcampics[]" class="webcampics">
<input type="hidden" value="'+image_url+'" name="webcampics[]" class="webcampics">

var inputs = document.getElementsByClassName( 'webcampics' ),
    names  = [].map.call(inputs, function( input ) {
        return input.value;
    }).join( '|' );
Run Code Online (Sandbox Code Playgroud)

演示:http://jsfiddle.net/QgJrq/