刚在ASM中处理客户提出的需求中,有两个是用户习惯的问题,想到了用JS来控制页面。一个是页面加载完后滚动条自动跳转到最下面,另一个是在文本框输入中按回车后,光标焦点自动跳到下个文本框中。

以下是实现的源码:

1、页面加载完后滚动条自动跳转到最下面:

JavaScript代码
  1. function  window.onload()   
  2. {   
  3.   setTimeout("scrollT()",0);   
  4. }   
  5. function scrollT()   
  6. {   
  7.     window.scrollTo(0,document.body.scrollHeight);   
  8. }  

 

2、文本框按回车后焦点定位到下一个文本框:

前台页面的JS代码:
  1. function setDefaultClick(e,obj)   
  2. {   
  3.   if (e.keyCode == 13)   
  4.   {   
  5.       document.getElementById(obj).focus();   
  6.       event.returnValue=false;   
  7.   }   
  8. }  

 

后台C#代码
  1. private void initTxtKeyWord(TextBox tb1, TextBox tb2)   
  2. {   
  3.     tb1.Attributes.Add("onkeypress""setDefaultClick(event,’" + tb2.ClientID + "’)");   
  4. }  

Page_Load中调用以上的方法来初始化文本框

C#代码
  1. initTxtKeyWord(txt1, txt2);   
  2. initTxtKeyWord(txt2, txt3);   
  3. initTxtKeyWord(txt3, txt1);  

通过上面的第二个例子,在代码上稍微改一下,又可实现对文本框中按回车自动哦触发按钮的事件。下面是代码:

前台页面的JS代码:
  1. function setDefaultClick(e,obj)   
  2. {   
  3.   if (e.keyCode == 13)   
  4.   {   
  5.     __doPostBack(obj,"");   
  6.     event.returnValue=false;   
  7.   }   
  8. }  
后台C#代码
  1. private void initTxtKeyWord(TextBox tb, Button btn)   
  2. {   
  3.     tb1.Attributes.Add("onkeypress""setDefaultClick(event,’" + btn.ClientID + "’)");   
  4. }  

Page_Load中调用以上的方法来初始化文本框

C#代码
  1. initTxtKeyWord(txt1, btn1);