如何解决序列化输入没有得到它的更新的值
简单的问题(我认为):
如果您更改输入中的值,则来自 XMLSerializer 的字符串结果不会显示该值
在我的代码段中,尝试在输入中输入 a,然后单击序列化。
为什么它没有改变,我该怎么做才能获得 INPUT 的更新 HTML?
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>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。