如何在javascript中验证单选按钮?

时间:2010-08-05 11:12:34

标签: javascript html radio-button

我的HTML代码 -

 <form method="post" name="editorform" id="editorform" onsubmit="return validate_editorform(this)" action="#">
      <ol><li>
        <label for="qtitle"><b>Title</b></label>
        <input id="qtitle" name="qtitle" class="text"></textarea>
      </li><li>
        <label for="tag"><b>Tag</b></label>
            <table border="0">
                <tr>
                    <td><input type="radio" name="tag" value="art"/>Art & Living</td>
                    <td><input type="radio" name="tag" value="travel" class="rdbtn"/>Travel</td>
                    <td><input type="radio" name="tag" value="religion" class="rdbtn"/>religion</td>
                </tr>
.....

我的javascript -

function validate_editorform(editorform) 
{
    var qtitle = editorform.qtitle.value;
    var tag = editorform.tag.value;  
    var question = editorform.question.value;
    var nameRegex = /^[a-zA-Z]+(([\'\,\.\- ][a-zA-Z ])?[a-zA-Z]*)*$/; 

    if(qtitle == "") {
        inlineMsg('qtitle','You must enter a Question title.',5);
        return false;
    }
    if(editorform.tag.checked == "") {
        inlineMsg('tag','You must Tag your question.',5);
        return false;
    }
    if(question == "") {
        inlineMsg('question','You must enter a your Question.',5);
        return false;
    }
}

对于qtitle和问题JavaScript工作正常,但对于单选按钮(标记)则不然。任何人都可以发现问题吗?

3 个答案:

答案 0 :(得分:0)

更改

if(editorform.tag.checked == "") {

if(tag == "") {

答案 1 :(得分:0)

if(editorform.tag[0].checked == False... and so on for tag[1]...)

答案 2 :(得分:0)

<html>
  <head>
    <title>Validating Radio Button</title>
    <script>
      select = ""
      len = document.myform.radioname.length

      for (i = 0; i <len; i++) {
        if (document.myform.radioname[i].checked) {
          select = document.myform.radioname[i].value
        }
      }

      if (select == "") {
        alert("No Option selected");
        return false;
      }
      else {
        alert("option selected");
        return true;
      }
    </script>
  </head>
  <body>
    <form name="myform" action="thankyou.html" onsubmit="return validateForm()" method="post">    
      Choose your favourite Car Brand
      <input type="radio" name="radioname" value="maruti">Maruti<br>
      <input type="radio" name="radioname" value="fiat">Fiat<br>
      <input type="radio" name="radioname" value="BMW">BMW<br>
      <input type="radio" name="radioname" value="jaguar">Jaguar<br>
    </form>
  </body>
</html>