首页 > 解决方案 > 按下后退按钮后,输入类型单选按钮在 IE 中的点击值错误

问题描述

我的页面的创建方式似乎有问题,这导致单选按钮在页面上显示一个值,而当使用 javascript 查看单选按钮的正确检查时,会显示另一个值,但我还没有找到了,所以不再需要这个问题,但是第一个答案中讨论的相关演示可能会帮助想知道如何访问单选按钮单击状态的人。

原始问题:
当我按下浏览器历史记录返回按钮并返回到我刚刚提交且正在开发的页面时,我的代码查看一对单选按钮的已检查属性状态以确定页面的模式上次提交时在其中,并使用此显示/隐藏页面元素,以便页面看起来像提交时一样。在最新版本的 Chrome 和 IE 中,Chrome 工作正常,但 IE 显示单选按钮的选中状态与 F12 开发人员工具调试器中的显示不同,后者显示这两个单选按钮的选中属性处于相反的状态页面上看到的内容。

使用后退按钮后,IE 中是否有一种特殊的方法来获取单选按钮的值?

标签: javascriptradio-buttonbrowser-historycheckedinspector

解决方案


我创建了一个演示页面,显示在按下浏览器的后退按钮后无需特殊编码即可访问输入单选按钮元素的值。以下是演示此操作的 CodePen 的两个链接: CodePen 演示(调试模式)CodePen 演示(预览模式)

该演示仅在 CodePen 的调试模式下正常工作,但您可能希望看到正常的 CodePen 预览/编辑模式,因此提供了两个链接。

在访问输入单选按钮值的所有方法中,有以下几种:

document.getElementById( 'radio_id' ).checked

document.getElementsByName( 'radio_name' ).checked              // deprecated in HTML5!

document.querySelector( 'input[name="radio_name"]' ).checked    // 1st radio button with the name.

document.querySelectorAll( 'input[name="radio_name"]' ).checked // all of the radio buttons

推荐阅读