[英]JS: input's .value returns an empty string (when not empty)
我一直在尝试从文本输入中获取值,但是由于某种原因,它不起作用。
本质上,我有一个文本输入。 用户在输入中输入内容,我希望.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对象的name属性是一个空字符串。 我真的不明白这是怎么回事。
您正在立即调用applyEvent
并将返回值传递给addEventListener
( undefined
)。 由于输入元素当时还没有值,因此.value
将返回一个空字符串。
传递一个函数代替:
....addEventListener("mousedown", function() {
applyEvent(event);
}, false);
(我不知道event
在您的代码中来自哪里,但我认为它是一个自定义对象, 而不是实际的事件对象)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.