Javascript IE11中不可访问单选按钮值

Javascript IE11中不可访问单选按钮值,javascript,html,internet-explorer-11,Javascript,Html,Internet Explorer 11,我的HTML页面上有一个单选按钮: <form name="myForm" onsubmit="calc_risk(); return false;" method="post"> <input type="radio" name="q1" value="1"> Yes <input type="radio" name="q1" value="0"> No <input type="submit" value="Submit"&g

我的HTML页面上有一个单选按钮:

<form name="myForm" onsubmit="calc_risk(); return false;" method="post">
    <input type="radio" name="q1" value="1"> Yes
    <input type="radio" name="q1" value="0"> No
    <input type="submit" value="Submit">
</form>
在firefox中,该变量按预期包含1或0(取决于我选择的单选按钮)。在IE11中,该值未定义。为什么单选按钮在IE11中不起作用

编辑

我现在使用jquery访问该值:

var radioValue = $("input[name='q1']:checked").val();
这两种浏览器都适用。通过添加以下内容,确保jquery包含在标题部分中:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

在web api规范中,访问上的
属性并获取其中第一个选中单选按钮的值是一项相对较新的功能

Internet Explorer(作为一个旧浏览器,除了安全补丁外,没有任何新的开发工作)不支持它

您可以循环收集并测试第一个选中的元素

var a = get_first_checked_value(document.forms["myForm"]["q1"]);

function get_first_checked_value(form_controls) {
    for (var i = 0; i < form_controls.length; i++) {
        if (form_controls[i].checked) {
            return form_controls[i].value;
        }
    }
}
var a=get_first_checked_value(document.forms[“myForm”][“q1”]);
函数get_first_checked_值(窗体控件){
对于(var i=0;i
这是我的解决方案,在IE 11和Chrome浏览器中进行了测试

<html>
    <body>
        <form name="myForm" onsubmit="calc_risk(this); return false;" method="post">
            <input type="radio" name="q1" value="1"> Yes
            <input type="radio" name="q1" value="0"> No
            <input type="submit" value="Submit">
        </form>
        <script language="javascript">
            function calc_risk (theForm) 
            {
                var q1Values = theForm.q1;
                for (i=0 ;i<q1Values.length;i++)
                {
                    if(q1Values[i].checked)
                    {
                        alert(q1Values[i].value);
                    }
                }
            }
        </script>
    </body>
</html>

对
不
功能计算风险(表格)
{
var q1值=形式q1;

对于(i=0;我能给你一个片段吗?那么,微软真的很愚蠢吗?我应该避免IE支持吗?@user3182532欢迎加入clubI不会这样认为,IE只是不同而已=)。不过,我的回答中或多或少有一个跨浏览器的解决方案。
<html>
    <body>
        <form name="myForm" onsubmit="calc_risk(this); return false;" method="post">
            <input type="radio" name="q1" value="1"> Yes
            <input type="radio" name="q1" value="0"> No
            <input type="submit" value="Submit">
        </form>
        <script language="javascript">
            function calc_risk (theForm) 
            {
                var q1Values = theForm.q1;
                for (i=0 ;i<q1Values.length;i++)
                {
                    if(q1Values[i].checked)
                    {
                        alert(q1Values[i].value);
                    }
                }
            }
        </script>
    </body>
</html>