【问题标题】:Can't clear inputs in Javascript无法清除 Javascript 中的输入
【发布时间】:2016-11-13 18:18:56
【问题描述】:

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

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

【问题讨论】:

  • 因为 changeTodoPositionInputchangeTodoTextInput 是值,没有 DOM 元素

标签: javascript javascript-objects dom-events


【解决方案1】:

你试图清除一个值而不是输入元素,你必须先获取 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 = ''; 
}

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    你可以试试这个:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      • 1970-01-01
      • 2021-03-16
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多