我一直在尝试从文本输入中获取值,但是由于某种原因,它行不通。
本质上,我有一个文本输入。输入内部的用户类型,我希望.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
来自您的代码中的位置,但我认为它是自定义对象,不是实际事件对象)。