为什么表单在上一个值而不是默认值时调用onreset?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么表单在上一个值而不是默认值时调用onreset?相关的知识,希望对你有一定的参考价值。
为什么表单在前一个值而不是默认值时调用onreset?它是强制在重置内获取默认值的参数吗?
解释代码:
const myForm = document.getElementById('my-Form')
myForm.onsubmit=e=> {
e.preventDefault() // disable for test
}
myForm.onreset=_=> {
console.log( 'onReset event, aName = ', myForm.aName.value )
}
document.getElementById('bt-Test').onclick=_=> {
myForm.aName.value = 'other value'
myForm.reset() // didn't write 'Default value'
}
<form id="my-Form" action="xxx" method="post">
<input type="text" name="aName" value="Default value" >
<br><br>
<button type="reset">reset</button>
</form>
<br>
<button type="button" id="bt-Test">Test button</button>
[[测试按钮]不显示'默认值'(正如我所期望的,并且需要)
我的表单有120个带有计算的条目,并且默认值是由php设置的,我是否可以放入setTimeout?
请只提供JS答案,不提供jQuery。
答案
[onreset
被触发之前值更改。
而不是使用onreset
事件,只需让您的按钮调用一个函数即可将其重置并在之后返回值。
const myForm = document.getElementById('my-Form')
myForm.onsubmit=e=> {
e.preventDefault() // disable for test
}
document.getElementById('btnReset').onclick=_=> {
myForm.reset();
console.log(myForm.aName.value);
}
document.getElementById('bt-Test').onclick=_=> {
myForm.aName.value = 'other value'
myForm.reset() // didn't write 'Default value'
}
<form id="my-Form" action="xxx" method="post">
<input type="text" name="aName" value="Default value" >
<br><br>
<button id="btnReset" type="reset">reset</button>
</form>
<br>
<button type="button" id="bt-Test">Test button</button>
以上是关于为什么表单在上一个值而不是默认值时调用onreset?的主要内容,如果未能解决你的问题,请参考以下文章
使用viewData值而不是ModelData手动设置表单数据
带有 Select Widget 的 Django ModelForm - 使用 object.uid 作为默认选项值而不是 object.id