JS程序,光标停留在文本框T1中,如果用户按下回车键,光标移向下一个文本框T2
代码如下:
 function checkT3() {          
              F1.T2.focus();          
      }
<p>用户名:<input type="text"name="T1"size="18" onenter="checkT3()" >不允许为空</p>
显然我的onenter没有用对,应该怎么写?JS菜鸟求助,谢谢

解决方案 »

  1.   

    function eventEnter(e) {
    var ev = window.event|| e;
    if (ev.keyCode == 13) {
    checkT3();
    } else {
    return ;
    }
    }function checkT3() {          
                  F1.T2.focus();          
          }
    <p>用户名:<input type="text"name="T1"size="18" onkeydown="eventEnter(event);" >不允许为空</p>
    试试
      

  2.   

    用键盘事件:    onkeyup="checkT3" function checkT3(){
         if(window.event.keyCode==13){ 
    F1.T2.focus();
         }
    }
      

  3.   

    代码下面这样:
    <html>
    <head>
    <title>身份证解析</title>
    <script language="javascript">
    function loadWeb(){
    window.alert("身份证解析");
    F1.T1.focus();

    function checkT1(){
    var str=F1.T1.value;
    if (str==""){window.alert("必须输入用户名!");
    F1.T1.focus();}
    }function checkT2() {
        var str = F1.T2.value;
    if(str.length<18){window.alert("身份证长度必须是18位!");
     F1.T2.focus();
    }
      for(i=0;i<=16;i++){
              var str1=str.charAt(i)
              if( !(str1==0||str1==1||str1==2||str1==3||str1==4||str1==5||str1==6||str1==7||str1==8||str1==9)) {
                 window.alert("身份证格式不对");
                  F1.T2.focus();}
          }
      var str2=str.charAt(17);
      if(str2  > 9 && str2 < 0 && str2 != "X"){
             window.alert("身份末位证格式不对!");
             F1.T2.focus();
         }
       var str3=str.substring(6,10);
         if(str3<="1900"||str3>="2013"){
             window.alert("日期有误!");
             F1.T2.focus();
         }
       var str4=str.substring(10,12) ; 
             if(str4<="01"||str4>="12"){
             window.alert("日期有误!");
             F1.T2.focus();} 
       var str5=str.substring(12,14);
             if(str5<="01"||str5>="31"){
             window.alert("日期有误!");
             F1.T2.focus();
         }
       var str6=str.charAt(16);
             str6=str6%2;
             if(str6=0)sex="男";
              else sex="女";
          }      function eventEnter(e) {
              var ev = window.event || e;
              if (ev.keyCode == 13) {
                  checkT3();
              } else {
                  return;
              }
          }      function checkT3() {
              F1.T2.focus();
          } function result(){
         var str=F1.T2.value;
         var year=str.substring(6,10);
         var month=str.substring(10,12);
         var day = str.substring(12, 14);
         var sex = str.charAt(17);
         sex = sex % 2;
         if (sex = 1) sex = "女";
         else sex = "男";
         document.F1.T3.value=year;
          document.F1.T4.value=month;
             document.F1.T5.value=day;
                document.F1.T6.value=sex;}
    </script>
    </head>
    <body onload="loadWeb()">
    <center>
    <p>身份证解析</p>
    <form name="F1"><p>用户名:<input type="text"name="T1"size="18" onkeyup="eventEnter(event);" ></p><p>用户名:<input type="text"name="T1"size="18" onblur="checkT1()" >不允许为空</p><p>身份证: <input type="text" name="T2" onblur="checkT2()">
    不允许为空且长度不超过18位</p>
    <!--<p>身份证: <input type="text" name="idcard" onblur=checkT2()>
    不允许为空,且长度必须为18位</p>--><p><input type="button"value="身份证解析"name="B1"onclick="result()">
    </p>
    <p>出生年月:<input type="text" name="T3"value="">年<input type="text"
    name="T4"value="">月<input type="text"name="T5"value="">日</p>
    <p>性别:<input type="text"name="T6"value=""></p>
    </form></body>
    </html>
    调试时:F1.T1.focus();这一行报错“对象不支持此属性或方法”。改动之前的代码可以通过。