如何在 mithril.js 中使用输入标签的 'value'
How to use 'value' of input tag in mithril.js
我希望能够将输入的文本值存储在变量中。我认为类似的东西会起作用:
m('input', {
placeholder: 'Type to search...',
oninput: () => { alert(this.value) }
})
我用alert()
只是为了测试一下。每当给出输入时,它只会给出一条消息 "undefined".
好吧..我明白了。我创建了一个单独的函数并使用 DOM 找到了元素并从那里获取了值:
function boxValue() {
alert(document.getElementById('searchBox').value);
}
m('input', {
id: 'searchBox',
placeholder: 'Type to search...',
oninput: () => { boxValue() }
})
我暂时将此标记为解决方案(尽快),但如果有人提出更好的答案,我会更改已接受的答案。
箭头函数 () => {}
没有 this
。为了依赖事件处理程序将 this
绑定到触发事件的元素,您必须使用:
// the traditional function form...
m('input', {
placeholder: 'Type to search...',
oninput: function(){ alert(this.value) }
})
// ...or the modern method shorthand:
m('input', {
placeholder: 'Type to search...',
oninput(){ alert(this.value) }
})
或者你可以完全避免 this
(毕竟它是模棱两可的,正如我们刚刚看到的),保留箭头函数,并使用提供的事件对象作为事件处理程序的第一个参数:
m('input', {
placeholder: 'Type to search...',
oninput: e => { alert(e.target.value) }
})
我希望能够将输入的文本值存储在变量中。我认为类似的东西会起作用:
m('input', {
placeholder: 'Type to search...',
oninput: () => { alert(this.value) }
})
我用alert()
只是为了测试一下。每当给出输入时,它只会给出一条消息 "undefined".
好吧..我明白了。我创建了一个单独的函数并使用 DOM 找到了元素并从那里获取了值:
function boxValue() {
alert(document.getElementById('searchBox').value);
}
m('input', {
id: 'searchBox',
placeholder: 'Type to search...',
oninput: () => { boxValue() }
})
我暂时将此标记为解决方案(尽快),但如果有人提出更好的答案,我会更改已接受的答案。
箭头函数 () => {}
没有 this
。为了依赖事件处理程序将 this
绑定到触发事件的元素,您必须使用:
// the traditional function form...
m('input', {
placeholder: 'Type to search...',
oninput: function(){ alert(this.value) }
})
// ...or the modern method shorthand:
m('input', {
placeholder: 'Type to search...',
oninput(){ alert(this.value) }
})
或者你可以完全避免 this
(毕竟它是模棱两可的,正如我们刚刚看到的),保留箭头函数,并使用提供的事件对象作为事件处理程序的第一个参数:
m('input', {
placeholder: 'Type to search...',
oninput: e => { alert(e.target.value) }
})