HTML单选按钮禁用表单上的自动选择提交

时间:2017-03-19 13:27:28

标签: javascript html radio

这是我尝试使用的示例HTML表单:

<form>
    <input type="radio" name="numbers" id="one" value="one">One<br>
    <input type="radio" name="numbers" id="two" value="two">Two<br>

    <input type="button" value="Go!" onClick="myFunction()">

    <div id="output"></div>
</form>

这是我尝试使用的示例JavaScript函数:

function myFunction() {    
    if (document.getElementById("one").checked = true) {
        document.getElementById("output").innerHTML = "One Selected";
    } else if (document.getElementById("two").checked = true) {
        document.getElementById("output").innerHTML = "Two Selected";
    }
}

所以当单选按钮&#34;一个&#34>单击,它应显示&#34; One Selected&#34;关于&#34;输出&#34;当单选按钮&#34;两个&#34;单击,它应显示&#34;两个选定&#34;。但是,它总是自动选择单选按钮&#34;一个&#34;并显示&#34; One Selected&#34;关于&#34;输出&#34;即使我选择单选按钮&#34;两个&#34;为什么会发生这种情况?
另外,有没有办法让它不自动选择单选按钮&#34;一个&#34;当用户没有选择任何一个时,它可以在没有选择任何一个时显示消息?

1 个答案:

答案 0 :(得分:2)

if条件错误 - 您正在分配而不是检查值。使用=====。在这里你正在检查单选按钮状态 - 它已经返回true或false。所以你不需要一个相同的检查。

function myFunction() {
    if (document.getElementById("one").checked) {
        document.getElementById("output").innerHTML = "One Selected";
    } else if (document.getElementById("two").checked) {
        document.getElementById("output").innerHTML = "Two Selected";
    }
}
<form>
    <input type="radio" name="numbers" id="one" value="one">One<br>
    <input type="radio" name="numbers" id="two" value="two">Two<br>

    <input type="button" value="Go!" onClick="myFunction()">

    <div id="output"></div>
</form>