数据输入表格,js

时间:2015-12-03 13:57:01

标签: javascript html forms

我有这个功能:

function incolla(){
  var array=document.getElementsByTagName("input");
  console.log(array);
  var dim1=array.length;
  var dim=arguments.length;

  for(var i=0, ; i<dim1-1 ; i++,){
    if(i>=3){
      array[i].value=arguments.pop();
    }
  }
}

那应该将数据粘贴到表单中:

<td align="center">
  <br>
  <input type="text" id="risposta_4_0" name="risposta_4_0" size="2" onchange="javascript: setRespons2(4,0, this.value)" style="border:2px #444444 solid; background-color:#ffffff"> 
  <input type="text" id="risposta_4_1" name="risposta_4_1" size="2" onchange="javascript: setRespons2(4,1, this.value)" style="border:2px #444444 solid; background-color:#ffffff"> 
  <input type="text" id="risposta_4_2" name="risposta_4_2" size="2" onchange="javascript: setRespons2(4,2, this.value)" style="border:2px #444444 solid; background-color:#ffffff"> 
  <input type="text" id="risposta_4_3" name="risposta_4_3" size="2" onchange="javascript: setRespons2(4,3, this.value)" style="border:2px #444444 solid; background-color:#ffffff"> 
  <input type="text" id="risposta_4_4" name="risposta_4_4" size="2" onchange="javascript: setRespons2(4,4, this.value)" style="border:2px #444444 solid; background-color:#ffffff"> 
  <input type="text" id="risposta_4_5" name="risposta_4_5" size="2" onchange="javascript: setRespons2(4,5, this.value)" style="border:2px #444444 solid; background-color:#ffffff"> 
  <input type="text" id="risposta_4_6" name="risposta_4_6" size="2" onchange="javascript: setRespons2(4,6, this.value)" style="border:2px #444444 solid; background-color:#ffffff"> 
  <input type="text" id="risposta_4_7" name="risposta_4_7" size="2" onchange="javascript: setRespons2(4,7, this.value)" style="border:2px #444444 solid; background-color:#ffffff"> 
  <input type="text" id="risposta_4_8" name="risposta_4_8" size="2" onchange="javascript: setRespons2(4,8, this.value)" style="border:2px #444444 solid; background-color:#ffffff">

只有运行网站的scirpt不会获取.value的值,而是通过其他参数,我该如何解决这个问题呢?

2 个答案:

答案 0 :(得分:0)

Reference mozilla.org

  

arguments对象不是Array。它类似于数组,但是   除了length之外没有任何Array属性。例如,确实如此   没有pop方法。但是它可以转换为真正的数组:

var args = Array.prototype.slice.call(arguments);

因此,您希望将javascript方法更新为:(JSFiddle

function incolla(){
  var args = Array.prototype.slice.call(arguments);
  var array=document.getElementsByTagName("input");
  console.log(array);
  var dim1=array.length;
  var dim=args.length;

  for(var i=0; i<dim1-1; i++){
    if(i>=3){
      array[i].value = args.pop();
    }
  }
}

答案 1 :(得分:0)

问题不在于只有网站系统不允许通过.value添加正确加载值,同样的事情发生在我身上的另一种形式(总是在同一个站点),其中有单选按钮做的。点击系统无法识别它们,