<form name="form1" method="post" action="">
  <p> (1) 
    <input type="radio" name="s1" value="radiobutton">
    <input type="text" name="d1" onkeydown="test(this)">
  </p>
  <p> (2) 
    <input type="radio" name="s2" value="radiobutton">
    <input type="text" name="d2" onkeydown="test(this)">
  </p>
  <p> (3) 
    <input type="radio" name="s3" value="radiobutton">
    <input type="text" name="d3" onkeydown="test(this)">
  </p>
  <p> (4) 
    <input type="radio" name="s4" value="radiobutton">
    <input type="text" name="d4" onkeydown="test(this)">
  </p>
  <p> (5) 
    <input type="radio" name="s5" value="radiobutton">
    <input type="text" name="d5" onkeydown="test(this)">
  </p>
</form>
<script>
function test(obj)
{
switch(event.keyCode)
{
case 49:
obj.value="优"
event.returnValue=false
break;
case 50:
obj.value="良"
event.returnValue=false
break;
case 51:
obj.value="中"
event.returnValue=false
break;
case 52:
obj.value="及格"
event.returnValue=false
break;
case 53:
obj.value="不及格"
event.returnValue=false
break;
}}
</script>

解决方案 »

  1.   

    我觉得你单选框的名字应该一样或用复选框:
    <form name="form1" method="post" action="">
      <p> (1) 
        <input type="radio" name="s1" value="radiobutton" onclick="if(this.checked) d1.disabled=false">
        <input type="text" name="d1" onkeydown="test(this)" disabled=true>
      </p>
      <p> (2) 
        <input type="radio" name="s2" value="radiobutton" onclick="if(this.checked) d2.disabled=false">
        <input type="text" name="d2" onkeydown="test(this)" disabled=true>
      </p>
      <p> (3) 
        <input type="radio" name="s3" value="radiobutton" onclick="if(this.checked) d3.disabled=false">
        <input type="text" name="d3" onkeydown="test(this)" disabled=true>
      </p>
      <p> (4) 
        <input type="radio" name="s4" value="radiobutton" onclick="if(this.checked) d4.disabled=false">
        <input type="text" name="d4" onkeydown="test(this)" disabled=true>
      </p>
      <p> (5) 
        <input type="radio" name="s5" value="radiobutton" onclick="if(this.checked) d5.disabled=false">
        <input type="text" name="d5" onkeydown="test(this)" disabled=true>
      </p>
    </form>
    <script>
    function test(obj)
    {
    switch(event.keyCode)
    {
    case 49:
    obj.value="优"
    event.returnValue=false
    break;
    case 50:
    obj.value="良"
    event.returnValue=false
    break;
    case 51:
    obj.value="中"
    event.returnValue=false
    break;
    case 52:
    obj.value="及格"
    event.returnValue=false
    break;
    case 53:
    obj.value="不及格"
    event.returnValue=false
    break;
    default:
    event.returnValue=false
    break;
    }}
    </script>
      

  2.   

    我做的这个表单主要是为了方便老师输入成绩,平常实验室老师要输入大量的"优良中及格不及格"。所以我想使用键盘的快键来输入成绩,就是用键盘中"上下光标"来选择输入文本框。再用键盘上数字或字母来代替输入"优良中及格不及格"。现在看来只能用Tab键单向向下移动了。
      

  3.   

    箭头也是可以的。参见:
    http://go6.163.com/colorweb/js/tabandarrow.html
      

  4.   

    你的单选框可以曲调了.<form name="form1" method="post" action="">
      <p> (1) 
        <input type="radio" name="s1" value="radiobutton">
        <input type="text" name="d1" onkeydown="test(this)">
      </p>
      <p> (2) 
        <input type="radio" name="s2" value="radiobutton">
        <input type="text" name="d2" onkeydown="test(this)">
      </p>
      <p> (3) 
        <input type="radio" name="s3" value="radiobutton">
        <input type="text" name="d3" onkeydown="test(this)">
      </p>
      <p> (4) 
        <input type="radio" name="s4" value="radiobutton">
        <input type="text" name="d4" onkeydown="test(this)">
      </p>
      <p> (5) 
        <input type="radio" name="s5" value="radiobutton">
        <input type="text" name="d5" onkeydown="test(this)">
      </p>
    </form>
    <script>
    function test(obj)
    {
    switch(window.event.keyCode)
    {
    case 49:
    obj.value="优"
    event.returnValue=false
    break;
    case 50:
    obj.value="良"
    event.returnValue=false
    break;
    case 51:
    obj.value="中"
    event.returnValue=false
    break;
    case 52:
    obj.value="及格"
    event.returnValue=false
    break;
    case 53:
    obj.value="不及格"
    event.returnValue=false
    break;
    default:
    event.returnValue=false
    break;
    }
    if(event.keyCode == 38)
    {
    var id = window.event.srcElement.name
    id = id.substr(1,1)
    id = parseInt(id) - 1
    if(id < 1) id = 5
    eval("document.form1.d" + id + ".focus()")
    }
    if(event.keyCode == 40)
    {
    var id = window.event.srcElement.name
    id = id.substr(1,1)
    id = parseInt(id) + 1
    if(id > 5) id = 1
    eval("document.form1.d" + id + ".focus()")
    }}
    </script>
      

  5.   

    你的单选框可以去掉了.<form name="form1" method="post" action="">
      <p> (1) 
        <input type="radio" name="s1" value="radiobutton">
        <input type="text" name="d1" onkeydown="test(this)">
      </p>
      <p> (2) 
        <input type="radio" name="s2" value="radiobutton">
        <input type="text" name="d2" onkeydown="test(this)">
      </p>
      <p> (3) 
        <input type="radio" name="s3" value="radiobutton">
        <input type="text" name="d3" onkeydown="test(this)">
      </p>
      <p> (4) 
        <input type="radio" name="s4" value="radiobutton">
        <input type="text" name="d4" onkeydown="test(this)">
      </p>
      <p> (5) 
        <input type="radio" name="s5" value="radiobutton">
        <input type="text" name="d5" onkeydown="test(this)">
      </p>
    </form>
    <script>
    function test(obj)
    {
    switch(window.event.keyCode)
    {
    case 49:
    obj.value="优"
    event.returnValue=false
    break;
    case 50:
    obj.value="良"
    event.returnValue=false
    break;
    case 51:
    obj.value="中"
    event.returnValue=false
    break;
    case 52:
    obj.value="及格"
    event.returnValue=false
    break;
    case 53:
    obj.value="不及格"
    event.returnValue=false
    break;
    default:
    event.returnValue=false
    break;
    }
    if(event.keyCode == 38)
    {
    var id = window.event.srcElement.name
    id = id.substr(1,1)
    id = parseInt(id) - 1
    if(id < 1) id = 5
    eval("document.form1.d" + id + ".focus()")
    }
    if(event.keyCode == 40)
    {
    var id = window.event.srcElement.name
    id = id.substr(1,1)
    id = parseInt(id) + 1
    if(id > 5) id = 1
    eval("document.form1.d" + id + ".focus()")
    }}
    </script>