序列化输入。没有得到它的(更新的)价值
Serializing an INPUT. Not getting its (updated) value
简单的问题(我认为):
如果更改输入中的值,XMLSerializer 的字符串结果不会显示该值
在我的代码片段中,尝试在输入中输入 a,然后单击序列化。
为什么它没有改变,我该怎么做才能获得更新的 HTML INPUT?
document.getElementById('clk').addEventListener("click", function() {
console.log(new XMLSerializer().serializeToString(document.getElementById('foo')));
});
<input id='foo' />
<button id='clk'>Serialize</button>
您可以使用输入事件(或更改事件)侦听器来更新值属性
document.getElementById('clk').addEventListener("click", function() {
console.log(new XMLSerializer().serializeToString(document.getElementById('foo')));
});
document.querySelector('input#foo').addEventListener("input", function(){
this.setAttribute('value', this.value);
})
<input id='foo' />
<button id='clk'>Serialize</button>
简单的问题(我认为):
如果更改输入中的值,XMLSerializer 的字符串结果不会显示该值
在我的代码片段中,尝试在输入中输入 a,然后单击序列化。
为什么它没有改变,我该怎么做才能获得更新的 HTML INPUT?
document.getElementById('clk').addEventListener("click", function() {
console.log(new XMLSerializer().serializeToString(document.getElementById('foo')));
});
<input id='foo' />
<button id='clk'>Serialize</button>
您可以使用输入事件(或更改事件)侦听器来更新值属性
document.getElementById('clk').addEventListener("click", function() {
console.log(new XMLSerializer().serializeToString(document.getElementById('foo')));
});
document.querySelector('input#foo').addEventListener("input", function(){
this.setAttribute('value', this.value);
})
<input id='foo' />
<button id='clk'>Serialize</button>