如何實現文本框焦點自動跳轉及通過回車鍵提交表單

<script language="JavaScript">
NS4 = (document.layers) ? true : false;
function checkEnter(event,element)
{    
    var code = 0;
    if (NS4)
        code = event.which;
    else
        code = event.keyCode;
    if (code==13)
     {
        if(element.name=='tbUserName')//tbUserName-用戶名文本框的Name
         {
              document.frmLogin.tbPassword.focus();//frmLogin-表單名稱,tbPassword-密碼文本槓框的Name
         }
         if(element.name=='tbPassword')
         {
              //document.frmLogin.submit();用這種方式提交,Asp.net頁面會閃一下,但實際並未提交
              //用下面的代碼才能提交,我是從asp.net生成的頁面中查看源文件然後複製出來的
              if (typeof(Page_ClientValidate) != 'function' || Page_ClientValidate()) __doPostBack('lblLogin','');
         }
     }
}
 
</script>

我將這些代碼放在了一個LoginScript.js文件中,然後在Login.cs文件中添加如下代碼就實現這樣的功能:
tbUserName.Attributes.Add("onKeyPress","checkEnter(event,this)");
tbPassword.Attributes.Add("onKeyPress","checkEnter(event,this)");
System.IO.StreamReader sr=new System.IO.StreamReader(MapPath("Script")+"//LoginScript.js");
this.RegisterClientScriptBlock("LoginScript",sr.ReadToEnd());
sr.Close();


<script language="javascript"> 
<!-- 
function init()
{
document.οnkeydοwn=keyDown 
}

function keyDown(e) { 

if(event.keyCode==13)
{
event.keyCode=9
}


<body  οnlοad="init()"> 

<SCRIPT language="javascript">
function keyvalue()
{
if(event.keyCode=="13")
{

if(!(event.srcElement.name=="btnSave"|| event.srcElement.name=="btnReturn") )
{
event.keyCode="9";
}
}
// key=window.event.keyCode;
// alert(key);
// if(key==13)//判斷是否按下回車鍵
// {
// event.keyCode=9;
//CurTabIndex=event.srcElement.tabIndex+1//將當前tabindex的值加1
//for (n=0;n< Form1.elements.length;n++)
//{
// if (Form1.elements[n].tabIndex==CurTabIndex) //找到下一個表單元素
// {
// Form1.elements[n].focus(); //移動焦點
// return true;
// }
// }

// }



 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章