无法清除javascript中的输入

时间:2016-07-11 17:44:49

标签: javascript javascript-events javascript-objects

我在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 = '';
}

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

2 个答案:

答案 0 :(得分:2)

您正在尝试清除值而不是输入元素,您必须首先获取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 = ''; 
}

希望这有帮助。

答案 1 :(得分:0)

你可以试试这个:

var changeTodoPositionInput = document.getElementById('changeTodoPositionInput')。value =“”;

var changeTodoTextInput = document.getElementById('changeTodoTextInput')。value =“”;