加载 html 页面时,可以按照 HTML 中声明的方式初始化不同的输入元素。如果用户更改某些输入值,然后在表单上执行reset(),则表单将重置为其初始加载状态。
我的问题是,我可以使用 javascript 确定“初始元素状态是”(最好是跨浏览器的方式吗?)
理想情况下是这样的(我不知道该怎么做。)
<input type='checkbox' id='chkbox' checked />
<script>
alert('The initial state was ' ???? );
$('chkbox').checked = true
alert('The initial state was ' ???? );
</script>
此脚本会两次表示初始状态为“假”。
最佳答案
radio
- 和 checkbox
-type input
有一个属性 defaultChecked
由 W3C 1 级和 2 级 HTML DOM 定义。可悲的是,IE only supports it in IE8 ;我个人不知道针对 IE7 及之前版本的干净解决方案(尽管可能有一个!)。您可能需要执行以下操作:
// on page load:
$(':radio,:checkbox').each(function() {
this.myDefaultChecked = this.checked;
})
您可能还想尝试 el.getAttribute('checked')
是否返回初始值或当前值。
关于javascript - 我可以确定页面加载时复选框的默认状态(或者通过 Reset() 将其重置为什么值吗?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009311/