先看源码:
<html>
<head>
<title>单选按钮演示程序</title>
</head>
<body BGCOLOR="#FFFFFF">
<h2 ALIGN="CENTER">单选按钮演示程序</h2>
<hr>
<form Action="radio.jsp" Method="GET">
性别:
<input Type="Radio" Name="sex" Value="male" Checked>男
<input Type="Radio" Name="sex" Value="female">女
血型:
<input Type="Radio" Name="blood" Value="A" Checked>A 
<input Type="Radio" Name="blood" Value="B">B 
<input Type="Radio" Name="blood" Value="AB">AB 
下面还有许多带Radio的项目,不如爱好呀,学历呀什么的<input Type="Radio" Name="blood" Value="O">O<p><input Type="Submit" Value="提 交"> 
</form>
</body>
</html>
问题是:当我在点击提交的时候,如果某一个项目未选(比如没有选择血型),能不能直接定位(跳转)到没有勾选的项目上。就像文本框获得光标一样!

解决方案 »

  1.   

    你的这些Radio都设置默认值不就不会出现这个问题了吗
      

  2.   

    我们客户要求不设置默认值呢!!必须要选择!都是Radio哦!
      

  3.   

    document.getElementsByName("blood")[0].focus();
      

  4.   

    单选按钮获取焦点没有文本框获取焦点明显,判断一下选没选中,没选的给出个提示就可以了。这个判断在jsp里好做,直接判断post的值就可以了,但不推荐。给你个客户端脚本的思路:把各个radio分成组,既相同name的为一组。这一组中只要有一个radio的checked值不为空就说明选择了。再把判断绑定到提交按钮上执行即可。
    代码写的很清楚<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>单选按钮演示程序</title>
    <style type="text/css">
    <!--
    h2 {
    text-align: center;
    }
    -->
    </style>
    <script type="text/javascript">function checkForm()
    {
    if(!document.getElementById("myForm")) return false;
    var flag = 0;
    var myForm = document.getElementById("myForm");
    var ps = myForm.getElementsByTagName("p");
    for(var i=0;i<ps.length;i++)
    {
    var flag2 = 0;
    var inputs = ps[i].getElementsByTagName("input");
    for(var j=0;j<inputs.length;j++)
    {
    if(inputs[j].checked)
    {
    flag2++;
    }
    }
    if(!flag2)
    {
    alert(ps[i].firstChild.nodeValue+"没有选择 :)");
    }
    else
    {
    flag++;
    }
    }
    if(flag != ps.length)
    {
    return false;
    }
    else
    {
    return true;
    }
    }

    </script>
    </head>
    <body>
    <h2>单选按钮演示程序</h2>
    <hr>
    <form action="radio.jsp" method="post" id="myForm">
    <p>性别:
    <input type="radio" name="sex" value="male" />男
    <input type="radio" name="sex" value="female" />女
    </p>
    <p>
    血型:
    <input type="radio" name="blood" value="A" />A
    <input type="radio" name="blood" value="B" />B
    <input type="radio" name="blood" value="AB" />AB
    </p>
    下面还有许多带Radio的项目,不如爱好呀,学历呀什么的
    <p>
    其他:
    <input type="radio" name="other" value="other1" />其他1
    <input type="radio" name="other" value="other2" />其他2
    <input type="radio" name="other" value="other3" />其他3
    </p>
    <input type="submit" value="提 交" onclick="return checkForm();" />
    </form>
    </body>
    </html>