首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

关于IE文本框自动匹配和文本框回车提交的有关问题

2012-01-12 
关于IE文本框自动匹配和文本框回车提交的问题文本框回车提交:this.tb_Keyword.Attributes.Add( onkeydown

关于IE文本框自动匹配和文本框回车提交的问题
文本框回车提交:    
  this.tb_Keyword.Attributes.Add( "onkeydown ",     "enterSubmit(this) ");    
JS是:function     enterSubmit(src)    
              {    
                                          if(window.event.keyCode==13     )    
                              {    
                                         
                                              event.returnValue=false;    
                                              document.getElementById(idAppr+     "ib_Submit ").click();    
                                         
                              }    
                      }    
这样的确能实现文本框回车提交,    
但是当IE有自动匹配的时候,IE会自动将以前输过的词匹配用下拉框显示出来,点击下拉中的一项,文本框内出现这一项,回车提交这是正常的,但是直接用上下键选择不点击,选中后直接回车,比如我输入G,下拉中有GOOGLE,我用上下键选择GOOGLE直接回车,查出来的词是G不是选定的GOOGLE,这是我回车的时候直接就执行enterSubmit()这个了,文本框内的文本还没有变成GOOGLE,这个问题怎么解决??我用JS怎么判断这个回车是选定回车,还是在文本框中要提交的回车?

[解决办法]
通过添加TextBox1_TextChanged(object sender, System.EventArgs e)事件实现textbox回车提交,不要写js代码。
把TextBox1的autopostback属性设置为false,把要执行的提交代码写在TextBox1_TextChanged(object sender, System.EventArgs e)事件里,这样就可以达到你要的效果了。
[解决办法]
把tb_Keyword放在一个表格里,打开html代码页面,在tb_Keyword所在的td加入onkeydown事件:
<td TD onkeydown= "enterSubmit(this) ">

热点排行