初学JS,有个密码框问题求救。我页面中有个form,其中有个密码框,下面有两个按钮,一个确认,取消。现在的功能是:我在输入完密码后,光标需要移动到确认按钮上按确认后才可以判断密码并作相应的跳转。现在客户新提出在密码框上输入密码后不移动焦点,直接按确认键也可以直接判断密码并跳转的功能(注:原先的功能还是要存在)。
   下面是现有代码:<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)
{
    evnt = e.which;
    
    switch(evnt)
    {
       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" 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>

解决方案 »

  1.   

    <a href="javascript:okAnswer()"> <img src="images/spacer.gif" id="query" width="117" height="60" name="reseting" border=0> </a>
    这个是不是你说的确认按钮,只要把这个换成type为submit的按钮,然后在把BUTTON的背景样式调一调,调成现在图片的样子就可以了
      

  2.   

    对,上面的图片是确认按钮,也实现了光标移到此图片按钮后按确认跳转的功能。
    现在工程是C/S模式的网页浏览,所以用你所说的方法可能不行。
    我现在是需要看能不能直接加一个<a href="javascript:function()">  的形式,在光标不移出密码框的情况下按确认键有效?我试过没有成功,估计是方法没有写对,或是还有其它更好的方法,故来请教一下各位专家
      

  3.   

    不过有点奇怪,你说的光标是指什么?可能是指的东西不一样,因为在正常情况下,<a>的点击和光标的位置没有关系
      

  4.   

    光标就是指焦点,我现在要的功能就是在焦点不移到图片按钮的情况下,直接按确认键,能执行相应的功能。
    由于这个工程,网页界面不多,没有采用CSS,无法把BOTTON调成图片所示效果,所以才用图片代替的BUTTON按钮,所以现在按你提供的思路改会相当麻烦。
    想请问下有没有更好的办法。
      

  5.   

    是不是这个意思?<input name="pwd" type="password" size="15" onkeydown="javascript:if(event.keyCode==13){okAnswer()}"> 
    <script language=javascript>
    function okAnswer()
    {
    alert("提交")
    }
    </script>
      

  6.   

    <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) 
    alert(e.keyCode)    evnt = e.which; 
         
        switch(evnt) 
        { 
           case RM_WWW_KEY:  //菜单 
               open_homepage(); 
               return 0; 
           default: 
               return 1; 
        } 

    document.onkeydown =function(){processkey(event)}
    </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" 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>
      

  7.   

    LS的把我的改写了,我的浏览器是FF的,不是IE,现在我改写为如下,好像还是有问题,问题用红色标注了,请问如何解决:<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;
        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>
      

  8.   

    var event = e ¦ ¦window.e; 
    var esrc  = event.target ¦ ¦event.srcElement; 
    var evnt  = event.which ¦ ¦event.keyCode; 
    上面代码是我仿造网上一段代码写的,原先的写法是:
    var evnt = e.which;
    我加了句:
    var esrc = e.target;
    为了想得到当前焦点是否在密码框上,可是发现一直得不到esrc.id (就是上贴红色标注地方),打印为:undefined,
    请教各位我如何才能得到密码框是否有焦点得状态?
      

  9.   

    你的是ipanel浏览器是吧
    你想实现你的这种效果我建议你不要用
     <input name="pwd" id = "pwd" type="password" size="15">  
    改用
    <td id="td_txt0" width="35" height="21" background="images/textbg.gif" align="left">
      <div id="txtepisodeindex" width="35" height="21" style="COLOR: #000000;TEXT-DECORATION: none"></div>
    </td>textbg.gif这是一张文本框式的背景图片[给用户的感觉就是里面是用来输密码的]
    然后判断焦点的位置,当焦点移到td_txt0上的时候你将把这个td的背景改为一张gif的动态图片(可以根据这个td中的值 的长度来加载光标在不同位置的gif图片),gif图片里面需要有一个光标在闪烁的效果,让用户感觉是得到焦点一样下面就简单了当用户按了确定键的时候你就触发判断密码的方法
      

  10.   

    jquery吧
    $(document).ready(function(){
        var pwd=$("pwd").val();
        var url="你自己的url";//可以带上需要的参数
        $("#pwd").change(function(){
           $.ajax({   
             type:"POST",   
             url:url,   
             data:null, 
             success:function(data){
             //data就是返回值
             }   
         });
       });
    });