javascript中的表单验证(单选和组合框)

javascript中的表单验证(单选和组合框),javascript,combobox,radio-button,validation,Javascript,Combobox,Radio Button,Validation,我正在尝试验证javascript中的单选按钮和optionbox。这是代码,但它不工作。。。 OprionBox和Radio的Javascript代码: function checkCountry() { if(document.form.country.selectedIndex=="") { alert("Please select country from the list"); return false;

我正在尝试验证javascript中的单选按钮和optionbox。这是代码,但它不工作。。。 OprionBox和Radio的Javascript代码:

function checkCountry()
        {
        if(document.form.country.selectedIndex=="")
        {
        alert("Please select country from the list");
        return false;  
        }
        return true
        }
function checkGender()
        {
        if(!document.getElementsByName("sex")[0].checked && !document.getElementsByName("sex")[1].checked)
        {
        alert("Select Male/Female");
        return false;
        }
        return true;
        }
function validate()
      {
            checkCountry();
            checkGender();
      }
HTML代码:

<form name="form" method="post" onSubmit="return validate()">                
    <select name="country">
    <option value="select">(Please select a country)</option>
    <option value="pk">Pakistan</option>
    <option value="chn">China</option>
    <option value="uk">United Kingdom</option>
    <option value="usa">United States of America</option>
    <option value="ir">Iran</option>
    <option value="ma">Malaysia</option>
    </select><br>
    <input type="radio" name="sex" value="male">Male<br>
    <input type="radio" name="sex" value="female">Female<br></form>

(请选择一个国家/地区)
巴基斯坦
中国
大不列颠联合王国
美利坚合众国
伊朗
马来西亚

男性
女性

请帮助…

您必须将检查所选索引的行更改为:

如果(document.form.country.selectedIndex==0)
那是因为您的“请选择一个国家”条目,您将始终拥有一个选定的索引

如果我随后在您的表单中添加
以测试提交,我将收到您的错误消息


请看它在工作

if(document.form.country.selectedIndex==“0”)
更改为
if(document.getElementsByName(“国家”)。selectedIndex==“0”)
这是完整的代码,工作正常

<html>
<head>
<script type="text/javascript">
function checkGender()
        {
        if(!document.getElementsByName("sex")[0].checked && !document.getElementsByName("sex")[1].checked)
        {
        alert("Select Male/Female");
        return false;
        }
        return true;
        }
function checkCountry()
        {

      if(document.getElementsByName("country")[0].selectedIndex==0)
        {
        alert("Please select country from the list");
        return false;  
        }
        return true
        }
function validate()
      {
            checkCountry();
           checkGender();
      }
</script>
</head>
<body>

<form onSubmit="return validate()" >
  <select name="country">
    <option value="select">(Please select a country)</option>
    <option value="pk">Pakistan</option>
    <option value="chn">China</option>
    <option value="uk">United Kingdom</option>
    <option value="usa">United States of America</option>
    <option value="ir">Iran</option>
    <option value="ma">Malaysia</option>
    </select><br>
    <input type="radio" name="sex" value="male">Male<br>
    <input type="radio" name="sex" value="female">Female<br>
  <input type="submit" value="Submit" >
</form>

</body>
</html>

函数checkGender()
{
如果(!document.getElementsByName(“sex”)[0]。已选中&&!document.getElementsByName(“sex”)[1]。已选中)
{
警报(“选择男性/女性”);
返回false;
}
返回true;
}
函数checkCountry()
{
if(document.getElementsByName(“国家”)[0]。selectedIndex==0)
{
警报(“请从列表中选择国家”);
返回false;
}
返回真值
}
函数验证()
{
检查国家();
检查性别();
}
(请选择一个国家/地区)
巴基斯坦
中国
大不列颠联合王国
美利坚合众国
伊朗
马来西亚

男性
女性

您没有说这里出了什么问题。“它不起作用”和“请帮忙”不是问题。请尝试形成一个更详细的问题。我真正需要的是,当我将这些表单组件留空时,它应该显示警告错误消息。。。但事实并非如此。在尝试进行验证之前,请尝试理解HTML的文档模型。同样的道理。。。当我没有选择任何国家/地区时,没有给出错误消息。我编辑了我的答案。请查看链接。我试过了,它确实起作用了。我照样抄了你的台词,但又没有结果。