如何在待办事项列表中显示编辑后的 innerHTML 元素?

How can I show an edited innerHTML element in my todo list?

提问人:Mehdi 提问时间:6/1/2023 最后编辑:user16217248Mehdi 更新时间:6/3/2023 访问量:35

问:

我已经为一个列表编写了代码,该列表可以删除或编辑以在输入文本字段中进行修改。但是,一旦在输入文本字段中编辑进行修改,我就无法获得替换上一个任务所需的新输入字段文本值。task-todo

const InputTask = document.getElementById('inputTask')
const AddTaskBtn = document.getElementById('add-task')


function AddTask(){
    
    if(InputTask.value != ''){
    i++
    const Task = InputTask.value
    let p = document.createElement('p')
    let ul = document.createElement('ul')
    let litwo = document.createElement('li')
    let span = document.createElement('span')
    let ultwo = document.createElement('ul')
    let lithree = document.createElement('li')    
    let lione = document.createElement('li')

    ultwo.appendChild(lithree)
    lithree.setAttribute('id','editer'+ i)
    lithree.innerHTML= 'Edit'
    lithree.classList.add('submenu')
    lithree.addEventListener('click', function EditList(){
        InputTask.value = p.innerHTML
        authorisation = false
        AddTaskBtn.addEventListener('click',function ReplaceList(){
            EditedTask = document.getElementById('inputTask')
            let idlist = lione.id
            let liToAddIn = document.getElementById(''+ idlist)
            let idp = p.id
            let ptoBeRemoved = document.getElementById(''+ idp)
            ptoBeRemoved.remove()
            ptoAdd = document.createElement('p')
            liToAddIn.classList.add('thelists')
            liToAddIn.appendChild(ptoAdd)
            liToAddIn.insertBefore(ptoAdd,ul)
            ptoAdd.setAttribute('id',idp)
            ptoAdd.classList.add('the-task')
            ptoAdd.innerHTML = EditedTask.value
            
            
            
        })
        
    })   
}
    
}

AddTask()

似乎我实际上替换了以前的任务,但没有与谷歌开发工具确认的内容(通过删除并添加新的.此外,如果我在输入值中添加一个固定的字符串内容,那么它就会正确显示并替换前一个。有人可以帮我从那里取回修改后的输入字段文本吗?<p><p>

列出 输入 innerhtml 待办事项

评论

0赞 Max Alexander Hanna 6/1/2023
这有点难以理解,你能解决你的问题吗
0赞 Mehdi 6/2/2023
您好麦克斯,感谢您的回复,很抱歉不是很清楚。实际在此任务待办事项代码中。我想编辑一个任务,然后在按下 addtask btn 时替换初始任务。但是,在我的代码中,似乎在编辑 ptoAdd.innerHTML 时我无法获取输入字段中的内容是空白的,例如,如果我在相等的右侧替换为“hello”,那么它可以正常工作并显示 hello。我该怎么做才能在输入字段中获取更正后的文本?非常感谢您的帮助
0赞 Max Alexander Hanna 6/2/2023
将 ID 分配给 p,并改用 document.getElementById(pid).innerHtml
0赞 Mehdi 6/2/2023
可以使用 InputTask.addEventListener 解决它,其中“change”用于输入类型文本,以便在输入字段内进行编辑并获取 p.textContent 和 e.target.value

答: 暂无答案