如何用javascript检查单选按钮

时间:2013-07-14 10:41:25

标签: javascript html5 radio-button

这是我在html中的代码:

<input type="radio" name="sex" id="boy" value="male" /> Boy<p></p><br>
<input type="radio" name="sex" id="girl" value="female" />Girl
<button id="fine" type="button">Submit</button>

这是在我的javascript文件中:

  var maskio = document.getElementById('boy');
  var femmna = document.getElementById('girl');
  function prima(){
   var fine = document.getElementById('fine');
   fine.onclick=chek;
  }
  function chek(){
  if((maskio.checked == false) && (femmna.checked == false)) {
    alert('lol');
    return false;
   }
  }
window.onload=prima;

问题出在哪里?当我运行它并单击提交时没有任何反应。为什么呢?

3 个答案:

答案 0 :(得分:1)

按如下方式更改您的JS。这些元素不是在您获得它们时创建的。

function prima() {
    var fine = document.getElementById('fine');
    fine.onclick = chek;
}

function chek() {
    var maskio = document.getElementById('boy');
    var femmna = document.getElementById('girl');
    if ((maskio.checked == false) && (femmna.checked == false)) {
        alert('lol');
        return false;
    }
}

window.onload=prima;

点击此处:jsFiddle

答案 1 :(得分:0)

问题是你的html标签,有一个空格“&lt;”删除空间,它会正常工作......

<input type="radio" name="sex" id="boy" value="male" /> Boy
<p></p><br>
<input type="radio" name="sex" id="girl" value="female" /> Girl
<button id="fine" type="button">Submit</button>
<script>

var maskio = document.getElementById('boy');
var femmna = document.getElementById('girl');
function prima()
{
    var fine = document.getElementById('fine');
    fine.onclick=chek;
}
function chek()
{
    if(maskio.checked)
    {
        alert("You are male Eh?");
    }
    else if(femmna.checked)
    {
        alert("Femal ;)");
    }
    else if(!maskio.checked && !femmna.checked)
    {
        alert("Come on Please check something!");
    }
}
   window.onload=prima;

</script>

答案 2 :(得分:-1)

当单选按钮具有相同名称时,它们属于名称组。这意味着,只能选择一个组中的一个单选按钮。如果你同时检查两者,那么无论如何都不会有结果!