关于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) ">