我正在使用 JavaScript 动态向表格添加行,我在每一行中创建一些文本框,我已向其中一个文本框添加了一个 onkeyup 事件:
var myTotal = "1";
var spanTotal = document.createElement("span");
spanTotal.innerHTML = "<input style=\"width:50px\" type=\"text\" name=\"total\" value=" + myTotal + ">";
spanCount.onkeyup = function ()
{
alert(spanTotal.innerHTML);
};
然后我将此跨度(呈现为 HTML 文本框)添加到我的表行中。我想要动态创建的文本框的值,但每当我更改此文本框时,此文本框的初始值都会显示在警报框中(即 1)。该文本框的初始值为“1”,但是当我更改它时(例如在文本框中键入 0),警报框中再次显示“1”。我想要动态创建的文本框的值,我应该为我的跨度提供一个 ID 吗?我应该如何定义spanCount.onkeyup函数?应该在哪里定义它,以便我可以获得该文本框的准确值?
最佳答案
我创建了一个jsFiddle 。您可以使用 childNodes 获取输入框的值。您使用 spanCount
而不是 spanTotal
的代码中还存在其他问题。
修改后的代码:
var myTotal = "1";
var spanTotal = document.createElement("span");
spanTotal.innerHTML = "<input style=\"width:50px\" type=\"text\" name=\"total\" value=" + myTotal + ">";
document.body.appendChild(spanTotal);
spanTotal.onkeyup = function() {
alert(spanTotal.childNodes[0].value);
};
关于javascript - 使用 JavaScript 获取动态创建的文本框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12727249/