无法清除 Javascript 中的输入

Can't clear inputs in Javascript

我正在 watchandcode.com 上实践 Javascript 课程,我的代码与讲师的代码完全相同,但是清除输入的部分在这里不起作用。

changeTodo: function () {
    var changeTodoPositionInput = document.getElementById('changeTodoPositionInput').valueAsNumber;
    var changeTodoTextInput = document.getElementById('changeTodoTextInput').value;

    todoList.changeTodo(changeTodoPositionInput, changeTodoTextInput);

    // THIS PART DOESN'T WORK
    changeTodoPositionInput.value = '';
    changeTodoTextInput.value = '';
}

该函数完成了它的工作,只是最后两行不起作用。

您正在尝试清除一个值而不是输入元素,您必须先获取 DOM 个元素:

var changeTodoPositionInput = document.getElementById('changeTodoPositionInput');
var changeTodoTextInput = document.getElementById('changeTodoTextInput');

然后从他们那里获取之后的值:

todoList.changeTodo(changeTodoPositionInput.valueAsNumber, changeTodoTextInput.value);

现在您可以使用以下方法清除两个输入的值:

changeTodoPositionInput.value = '';
changeTodoTextInput.value = ''; 

完整代码:

changeTodo: function() {
    var changeTodoPositionInput = document.getElementById('changeTodoPositionInput');
    var changeTodoTextInput = document.getElementById('changeTodoTextInput');

    todoList.changeTodo(changeTodoPositionInput.valueAsNumber, changeTodoTextInput.value);

    changeTodoPositionInput.value = '';
    changeTodoTextInput.value = ''; 
}

希望这对您有所帮助。

你可以试试这个:

var changeTodoPositionInput = document.getElementById('changeTodoPositionInput').value = "";

var changeTodoTextInput = document.getElementById('changeTodoTextInput').value = "";