【问题标题】:How to acces a variable within an input definition如何访问输入定义中的变量
【发布时间】:2021-04-06 03:38:42
【问题描述】:

我正在尝试将onclick 事件添加到表格的行单元格内新动态创建的按钮。

当我尝试使用控制台中出现的按钮时:

"Uncaught ReferenceError: i is not defined"

如何访问变量i 以将其放在change() 函数的括号内?

cell9.innerHTML ='<input type = "button"  value = "Edit" onclick="change(i)"/>';

编辑: 所以这里是整个函数,i 是一个数字,每次使用这个函数时都会增加 1。变量count等于表的长度。

function save(){
    var myTable = document.getElementById("myTable");
    var i = count;
  

// Create an empty <tr> element and add it to the 1st position of the table:
var row = myTable.insertRow(myTable.rows.length);
row.id="row-"+i;

// Insert new cells (<td> elements)in the"new" <tr> element:
var cell0 = row.insertCell(0);
var cell1 = row.insertCell(1);
var cell2 = row.insertCell(2);
var cell3 = row.insertCell(3);
var cell4 = row.insertCell(4);
var cell5 = row.insertCell(5);
var cell6 = row.insertCell(6);
var cell7 = row.insertCell(7);
var cell8 = row.insertCell(8);
var cell9 = row.insertCell(9);
var cell10 = row.insertCell(10);
// Add some text to the new cells:
cell0.innerHTML = document.getElementById("fname2").value;
cell1.innerHTML = document.getElementById("lname2").value;
cell2.innerHTML = document.getElementById("cemail2").value;
cell3.innerHTML = document.getElementById("pnumber2").value;
cell4.innerHTML = document.getElementById("city2").value;
cell5.innerHTML = document.getElementById("address2").value;
cell6.innerHTML = document.getElementById("postalCode2").value;
cell7.innerHTML = document.getElementById("province2").value;
cell8.innerHTML = document.getElementById("cpwd2").value;
cell9.innerHTML ='<input type = "button"  value = "Edit" onclick="change(i)"/>';

   
}

【问题讨论】:

  • i 来自哪里?请发布其余相关代码。
  • i 是表格的行数。所以我的代码基本上应该在表格底部添加一个新行,其中会有我创建的按钮。
  • 想知道你是如何得到“var i = count;”的每一行都是唯一的。您是否在维护与行索引同步的全局变量“count”?

标签: javascript html button dom-events


【解决方案1】:

您必须通过 字符串连接模板文字i 注入元素,如下所示

cell9.innerHTML ='<input type = "button"  value = "Edit" onclick="change('+ i + ')"/>';

cell9.innerHTML =`<input type = "button"  value = "Edit" onclick="change(${i})"/>`;

【讨论】:

    猜你喜欢
    • 2018-05-26
    • 2019-06-20
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    相关资源
    最近更新 更多