大家好,我要获取当前FROM中的焦点控件,发现怎么也获取不到,请高手支个招,谢谢。
function processkey(e)
{
    var nTest;
    evnt = e.which;
    nTest = " Press Key: "+evnt;
   // alert(nTest);  //alert1处
    switch(evnt)
    {
       case RM_OK_KEY:
           var nKey;
           nKey ="The value is "+ e.target.type + "----" +e.target.id+ "****" + e.srcElement.id;
          alert(nKey); //alert2处
           if(e.target.type == "password")
           {
                okAnswer();
                return 0;
           }
         return 1;         default:
           return 1;
    }
}FORM中的控件:<input name="pwd" id ="pwd" type="password" size="15">在注释的alert 1处的打印是正常的,可以在alert 2处的打印,不管是e.target.type ,e.target.id还是e.srcElement.id得到的都是undefined,请问是怎么回事啊。该怎么样获得到这个是否有焦点。

解决方案 »

  1.   

    看不出你写的那个processkey(e)和INPUT的联系~~~~~~~~~~~~~`怎么判断?
      

  2.   

    我改写了一下,不知道为什么还是不行,
    document.onkeypress = processkeyfunction processkey(e)
    {
       var event = e||window.e;
       var esrc  = event.target||event.srcElement;
       var evnt  = event.which||event.keyCode;
       //while(esrc.nodeType != 1)esrc = esrc.parentNode;
       //alert(esrc.tagName);
        switch(evnt)
        {
           case RM_OK_KEY:
              nStr = "hello, "+esrc.id;
               alert(nStr);       //此处得到的esrc.id还是undefined,
               switch(esrc.id)
               {
                    case "pwd":                 ..........FORM中的控件: <input name="pwd" id ="pwd" type="password" size="15"> 
    效果见注释处,这是什么原因,按说我也已经兼容了IE和MZ,FF了
      

  3.   

    - -#window.e是什么东西?event.which 又是什么?而且RM_OK_KEY又是什么?兼容了IE和MZ,FF了?
    你输入的东西后获取的是什么?
      

  4.   

    enent.which不是FF中的捕捉的键值么,event.keyCode(此为IE)中的 。我看网上都这么说的啊;window.e类似。
    RM_OK_KEY是我定义的回车键的值,为13,
    按理说,如果我在密码框输入密码后,直接回车,
    alert(nStr);       应该是打印: hello,pwd,这是我想要的效果。可以实际上我回车后,打印出来的确是 :hello, undefined
      

  5.   


    window.e 这个哪出的我不知道如果要兼容的话window.event(Win/IE的)event.which 这个我没学过.keyCode不是IE特有的,DOM标准也有,FF支持.不过FF还有个charCode属性用来获得unicode,keyCode只是获得ASCII码,而IE是在onkeyperss的时候keyCode才获得unicode的,在onkeydown和onkeyup获得的是ASCII码.
      

  6.   

    我也刚学不久,看到网上有这么一段代码,COPY过来的。
    不知你是否有很好的思路,请帮忙解决下这个问题,我都搞好几天了,至今没有进展,拜托!
      

  7.   

    最好把完整代码写出来吧这段代码乱七八糟的,,event.which 是netscape专有属性你可以
    var target = e.target || e.scrElement;alert(target.tagName);
    看看是什么节点
      

  8.   

    下面是这个页面完整的代码,我alert(target.tagName); 
    后发现没有反应,没有任何值出来。加的位置在红色标注处,现在注释掉了。<html> 
    <head> 
    <title>psw </title> 
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
    <script language='javascript' src='ui/jscript/keymap.js'> </script> 
    <script> function okAnswer() 

        var nRet; 
        nRet = iPanel.ioctlWrite("Commd.CheckPwd", document.login.pwd.value); 
        if (nRet != 0) 
        { 
            //alert("The password is invalid!") 
            showWarning1(0); 
            document.login.pwd.value = ""; 
                    document.login.pwd.focus(); 
                    return; 
        } 
        location.href = './ui/index.htm'; 
       } function ChangePwd() 

            location.href = './chpwd.htm' 
    } function GoBack() 

        var nRet ; 
        nRet = iPanel.ioctlWrite("Commd.OpenHomepage", "0"); 
        if (nRet != 0) 
        { 
            alert("The OpenHomepage failed !"); 
                    return; 
        } 
    } function open_homepage() 

        var nRet ;     nRet = iPanel.ioctlWrite("Commd.OpenHomepage", iPanel.ioctlRead("HomePageURL")); 
        if (nRet != 0) 
        { 
            alert("The OpenHomePage failed !"); 
            return; 
        } 
    } /*不响应返回键*/ 
    function processkey(e) 

       var event = e ¦ ¦window.e; 
       var esrc  = event.target ¦ ¦event.srcElement; 
       var evnt  = event.which ¦ ¦event.keyCode; 
       //alert(esrc.tagName);     switch(evnt) 
        { 
           case RM_OK_KEY: 
              nStr = "hello, "+esrc.id; 
               alert(nStr); //此处一直得不到esrc.id 
             switch(esrc.id) 
               { 
                    case "pwd": 
                    {       alert("xixi"); 
                            okAnswer(); 
                            return 0; 
                    } 
                    break 
               } 
             return 1;        case RM_WWW_KEY:  //菜单 
               open_homepage(); 
               return 0; 
           default: 
               return 1; 
        } 

    document.onkeypress = processkey 
    </script> 
    </head> 
    <body background="ui/images/psw_20.jpg" leftmargin="0" topmargin="0" onload = document.login.pwd.focus()> 
    <form name="login"> 
       <table width="640" height="100" cellpadding="0" CELLSPACING="0" cellspacing="0"  border="0"> 
         <tr> 
           <td height="10" border="2"> <img src="images/spacer.gif" width="17" height="3"> </td> 
         </tr> 
      </table>        <table width="562" height="330" border="0" cellpadding="0" cellspacing="0" align="center" valign=middle>   
           <tr height="20">    
             <td>   <img src="images/spacer.gif" width="258" height="2">   </td>   
           </tr>   
           
           <tr height="90">    
             <td>   
               <img src="images/spacer.gif" width="270" height="2">   
               <input name="pwd" id = "pwd" type="password" size="15">   
             </td>   
           </tr>   
           
           <tr height="27">    
             <td>   <img src="images/spacer.gif" width="258" height="2">   </td>   
           </tr>        </table>        <table width="640" height="82" cellpadding="0" CELLSPACING="0" cellspacing="0"  border="0">   
           <tr>   
             <td height="60" valign=bottom>   
               <img src="images/spacer.gif" width="172" height="2">   
               <a href="javascript:GoBack()">   <img src="images/spacer.gif" width="117" height="60" name="reseting" border=0>   </a>              <img src="images/spacer.gif" width="65" height="2">   
               <a href="javascript:okAnswer()">   <img src="images/spacer.gif" id="query" width="117" height="60" name="reseting" border=0>   </a>   
             </td>   
           </tr>   
         </table>   
    </form>   
    </body>   
    </html>
      

  9.   

     var event = e|| window.e;  ===>var event = e || window.event; 还有其他问题就靠自己了,,只有你自己才知道要实现什么
      

  10.   

    我要实现的很简单,就是添加一个在密码框中输入完密码后直接按确认键就可以判断密码并实现跳转的功能。
    原先的代码,是输入完密码后,我焦点移到下面的确认图片(注意不是BUTTON按钮,因为没有css,button做不出效果)上按确认可以实现跳转。
    我贴一下原先可以运行的代码,然后我再用红色标注出我想实现功能所加的代码。<html>  
    <head>  
    <title>psw  </title>  
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  
    <script language='javascript' src='ui/jscript/keymap.js'>  </script>  
    <script>  function okAnswer()  
    {  
        var nRet;  
        nRet = iPanel.ioctlWrite("Commd.CheckPwd", document.login.pwd.value);  
        if (nRet != 0)  
        {  
            //alert("The password is invalid!")  
            showWarning1(0);  
            document.login.pwd.value = "";  
                    document.login.pwd.focus();  
                    return;  
        }  
        location.href = './ui/index.htm';  
       }  function ChangePwd()  
    {  
            location.href = './chpwd.htm'  
    }  function GoBack()  
    {  
        var nRet ;  
        nRet = iPanel.ioctlWrite("Commd.OpenHomepage", "0");  
        if (nRet != 0)  
        {  
            alert("The OpenHomepage failed !");  
                    return;  
        }  
    }  function open_homepage()  
    {  
        var nRet ;      nRet = iPanel.ioctlWrite("Commd.OpenHomepage", iPanel.ioctlRead("HomePageURL"));  
        if (nRet != 0)  
        {  
            alert("The OpenHomePage failed !");  
            return;  
        }  
    }  /*不响应返回键*/  
    function processkey(e)  
    {  
       var evnt  = e.which;  //原先工程有的,可以运行
       var esrc  = e.target;  //我添加的语句    switch(evnt)  
        {  
           case RM_OK_KEY:  //表示确认按钮RM_OK_KEY = 13
              nStr = "hello, "+esrc.id;  
              alert(nStr); //在密码框中按确认后,可以运行到此处,但此处一直得不到esrc.id ,显示出 hello, undefined
              switch(esrc.id)  
               {  
                    case "pwd":  
                    {       alert("xixi");  
                            okAnswer();  
                            return 0;  
                    }  
                    break  
               }  
             return 1;  

           case RM_WWW_KEY:  //菜单  
               open_homepage();  
               return 0;  
           default:  
               return 1;  
        }  
    }  
    document.onkeypress = processkey  
    </script>  
    </head>  
    <body background="ui/images/psw_20.jpg" leftmargin="0" topmargin="0" onload = document.login.pwd.focus()>  
    <form name="login">  
        <table width="640" height="100" cellpadding="0" CELLSPACING="0" cellspacing="0"  border="0">  
          <tr>  
            <td height="10" border="2">  <img src="images/spacer.gif" width="17" height="3">  </td>  
          </tr>  
       </table>          <table width="562" height="330" border="0" cellpadding="0" cellspacing="0" align="center" valign=middle>    
            <tr height="20">     
              <td>    <img src="images/spacer.gif" width="258" height="2">    </td>    
            </tr>    
            
            <tr height="90">     
              <td>    
                <img src="images/spacer.gif" width="270" height="2">    
                <input name="pwd" id = "pwd" type="password" size="15">    
              </td>    
            </tr>    
            
            <tr height="27">     
              <td>    <img src="images/spacer.gif" width="258" height="2">    </td>    
            </tr>          </table>          <table width="640" height="82" cellpadding="0" CELLSPACING="0" cellspacing="0"  border="0">    
            <tr>    
              <td height="60" valign=bottom>    
                <img src="images/spacer.gif" width="172" height="2">    
                <a href="javascript:GoBack()">    <img src="images/spacer.gif" width="117" height="60" name="reseting" border=0>    </a>                <img src="images/spacer.gif" width="65" height="2">    
                <a href="javascript:okAnswer()">    <img src="images/spacer.gif" id="query" width="117" height="60" name="reseting" border=0>    </a>    
              </td>    
            </tr>    
          </table>    
    </form>    
    </body>    
    </html>请各位帮帮忙看看,谢谢