javascript - 无法返回动态创建的复选框的值

标签 javascript jquery

我正在表中创建表单字段,然后使用 javascript 在表中创建行并使用所需字段构建行。下面是我的 JavaScript。

function createRow() {  
    for (var i=0;i<rows3;i++){ 

        if (document.getElementById('buID').value==agile1[i]['BU_ID']){
            var rowCount = document.getElementById("mytable").rows.length;
            document.getElementById("rowIDcount").value=rowCount;
            console.log(agile1[i]['Agile_team']);
            x=x+1;
  var row = document.createElement('tr'); // create row node
  var rowid = document.createElement('td');
  var col = document.createElement('td'); // create column node
  var col2 = document.createElement('td'); // create second column node
  var col3 = document.createElement('td');
  var col4 = document.createElement('td');
  var col5 = document.createElement('td');
  var col6 = document.createElement('td');

  row.appendChild(rowid);
  row.appendChild(col); // append first column to row
  row.appendChild(col2); // append second column to row
  row.appendChild(col3);
  row.appendChild(col4);
  row.appendChild(col5);
  row.appendChild(col6);


  var rowids="<input id='row"+x+"'readonly value='"+x+"'>";
  agile="<input  id='agileteams"+x+"'readonly value='"+agile1[i]['Agile_team']+"'>";
  var strategic="<input type='number' min='0' max='100' id='strategic"+x+"'>";
  var Initiatives="<input type='number' min='0'  id='numInts"+x+"'>";
  var NewName="<input id='newname"+x+"'>";
  var deleteTeam="<input type='checkbox' value='1' id='deleteteam'"+x+"''>";
  var RenameTeam="<input type='checkbox' id='renameteam'"+x+"''>";


  rowid.innerHTML=rowids;
  col.innerHTML=agile;
   col2.innerHTML=strategic;
   col3.innerHTML=Initiatives;
   col4.innerHTML=deleteTeam;
   col5.innerHTML=RenameTeam;
   col6.innerHTML=NewName;
  var table = document.getElementById("mytable"); // find table to append to
  table.appendChild(row);

}
}
}

创建行后,我可以返回文本框的值,但不能返回复选框元素。我使用 document.getElementByID('deleteteam1').value 返回值,但出现以下错误。

未捕获类型错误:无法读取 null 的属性“值”

请记住,如果我使用 document.getElementByID('agileteams1').value 它会返回值。

我做错了什么?

最佳答案

您有额外的单引号,这会为您的复选框元素创建错误的 id 属性值。因此,当您访问 document.getElementByID('agileteams1') 时,它将返回 null,因为它不存在。我们不能在 null

上调用任何方法/属性

改变

var deleteTeam="<input type='checkbox' value='1' id='deleteteam'"+x+"''>";

var deleteTeam="<input type='checkbox' value='1' id='deleteteam"+x+"'>";

关于javascript - 无法返回动态创建的复选框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34164707/

相关文章:

javascript - 如何在不使用阻止默认值的情况下停止表单执行?

javascript - jquery中options和originalOptions的区别

javascript - 如何在另一个类中实例化一个JavaScript类?

javascript - 在表单操作中添加弹出等待消息

Javascript 结果需要在 php 中捕获到电子邮件

jquery - 获取 <video> 的原始尺寸

javascript - 如果 div 隐藏或可见,则将类应用于元素

javascript - 在 JavaScript 中 self 声明匿名函数之前的美元符号?

javascript - 嵌套函数作用域变量

javascript - 更改 D3 分组图表中 x 轴(序数)刻度值的值