javascript - 当用户单击更新按钮时,如何在 TODO 应用程序的输入字段中设置 li 值(li 内的文本)?
问题描述
下面是我的代码,实际上我想在用户单击更新按钮时将 li 文本设置到输入字段中。当用户单击更新按钮时会显示代码正在工作的输入元素,但 li 标签中的值未显示在输入字段中,但显示在控制台中我还附上了图片以在替换输入时清除它带按钮
[function addTodo() {
// create li
var todo_input = document.getElementById('todo-input');
var li = document.createElement('li');
var textNode = document.createTextNode(todo_input.value);
li.setAttribute('class', 'li');
li.appendChild(textNode);
// create update button
var updateBtn = document.createElement('button');
var updateText = document.createTextNode('UPDATE');
li.appendChild(updateBtn);
li.appendChild(deleteBtn);
addList.appendChild(li);
}
function updateItem(e) {
var val1 = e.parentNode.firstChild;
var inputVal = document.createElement('input');
inputVal.setAttribute('class','todo-input');
inputVal.setAttribute('type','text');
var textNode = document.createTextNode(val1.nodeValue);
inputVal.appendChild(textNode);
}][1]
解决方案
不要在输入框中附加文本。使用值属性。
inputVal.value = val1.nodeValue;
推荐阅读
- javascript - 如何仅显示特定日期
- angular - 在生产环境中编译 angular2 项目会改变代码结果
- oracle-cloud-infrastructure - 用于 Fastconnect 专用对等互连的 Oracle BGP IP 地址
- php - 如何隐藏或翻译 URL 搜索参数?
- eclipse - 除了 faces-config.xsp 之外的所有文件的异常长保存时间 - 在小型项目中没有问题
- sql - Oracle 替换方括号 REGEX_REPLACE
- svg - 为 FontAwesome 5 创建自定义图标
- opengl - 使用 glBlitFramebuffer 一次对多个纹理进行 Blitting
- android - 是否可以通过 android 电视应用程序关闭电视设备?
- configuration - 测试应该在 dotnet core 的 Debug 或 Release 配置中运行