我输入的输入值未显示在 JavaScript 中

Posted

技术标签:

【中文标题】我输入的输入值未显示在 JavaScript 中【英文标题】:The input value I enter does not show up in JavaScript 【发布时间】:2021-03-23 20:43:38 【问题描述】:

我正在为大学比赛编写基于文本的游戏,并且对 JS 和 html DOM 非常陌生。我已经成功创建了一个输入,并正在尝试对其进行测试。但是,当我输入输入并按 Enter 时,控制台上没有记录任何内容...

function new_input()
    let input = document.createElement("INPUT");
    input.setAttribute("type", "text");
    input.setAttribute("id", "input");
    document.body.appendChild(input);
    let x = $("input").val();
    console.log(x);

【问题讨论】:

您需要一个 onChange 事件来查看输入值在您键入时如何变化,或者需要一个 onClick 事件来查看输入上的“提交”按钮,以便在单击按钮后查看您的最终输入。 您需要一种方法来检测输入内容何时被输入。也许输入元素上的onChange 属性?像这样:<input onChange="new-input()"> 这能回答你的问题吗? Input not triggering change event 将最后两行改为$("#input").change(function() console.log($(this).val()) ) 【参考方案1】:

您确实需要借助回调来处理点击。

如果想这样做,请使用以下代码而不是最后两行

input.onkeypress = (e) => 
    if(e.keyCode === 13) 
        console.log(input.value);
    

【讨论】:

以上是关于我输入的输入值未显示在 JavaScript 中的主要内容,如果未能解决你的问题,请参考以下文章

输入的动态修改值未反映在 DOM 中

输入类型文本字段值未返回确切文本

引导标签输入标签值未与表单一起提交

输入值未在我传入 Intents 的另一个活动中更新

文本输入的更改值未返回

Vue单元测试输入值未设置