JS:输入的 .value 返回一个空字符串(当不为空时)



我一直在尝试从文本输入中获取值,但是由于某种原因,它行不通。

本质上,我有一个文本输入。输入内部的用户类型,我希望.value属性会更改(Chrome说的是这样),但是当我单击保存并读取我的JSON输出时,它会返回为空白字符串。

这是此位的HTML:

<input id="eventName" name="efrm" type="text" value="" />
<button type="button" id="okEvent">Save Event</button>

这是您需要看到的JS:

document.querySelector("#okEvent").addEventListener("mousedown", applyEvent(event), false);
function applyEvent(event) {
    var eventName = document.querySelector("#eventName").value;
    event.data = {
        name: eventName,
        img: null,
        type: 1,
        fov: 0,
        orientation: 1,
        trigger: 1
    };
}

JSON输出表示event.data对象的名称属性是一个空字符串。我真的不明白这里发生了什么。

您正在调用applyEvent 立即,然后将返回值传递给addEventListener(这是undefined)。由于当时输入元素还没有值,因此.value将返回一个空字符串。

转换功能:

....addEventListener("mousedown", function() {
    applyEvent(event);
}, false);

(我不知道event来自您的代码中的位置,但我认为它是自定义对象,不是实际事件对象)。

相关内容

  • 没有找到相关文章

最新更新