项目中遇到一个问题,使用 JS 修改 input 的值,打印出来还是之前的值,并没有改变。
示例:
<input id="inp" value="1" />
使用 JS 修改 input 的 value
值为 10 ,但是打印出来还是之前的 1 。
var inp = document.getElementById("inp"); inp.value=10; console.log(inp); // <input id="inp" value="1">
原因是 value
属性赋值只改变了内存中的值,不会自动触发 oninput
和 onchange
事件,但输入框的值却已经变化了。如果想要触发事件,则必须手动触发才行。
如要改变 value
值可使用下面的方法:
inp.setAttribute('value',10);