我在DataGrid里放一个TextBox,在HTML里使用onTextChange="TextBoxChange",.cs里有一个public
void TextBoxChange();按道理是只有把TextBox的值改了后按Enter键才触发事件,可当我把焦点放在该TextBox上,没有改变它的值,按Enter键居然触发页面一个Button事件,而且始终是那个Button,请高手帮忙!
void TextBoxChange();按道理是只有把TextBox的值改了后按Enter键才触发事件,可当我把焦点放在该TextBox上,没有改变它的值,按Enter键居然触发页面一个Button事件,而且始终是那个Button,请高手帮忙!
明明焦点在TextBox里,但我按Enter键却触发了其中一个Button事件!!!
使它看不到又能把焦点“抢走”(隐藏的话页面不能获得焦点),
触发也不会做什么事情!
不知道有没有更好的解决方法???!!!
if keypress=23
..........
<body onkeydown="aa()" MS_POSITIONING="GridLayout">
<script language="javascript">
function aa()
{
var srcType;
srcType = event.srcElement.type;
if(event.srcElement.type!=undefined)
{
if(srcType=="text")
{
if (event.keyCode==13)
event.keyCode=9;
}
}
}
</script>
明明焦点在TextBox里,但我按Enter键却触发了其中一个Button事件!!!]你焦点放在TEXTBOX不关服务器端的事情,服务器才不管你提交时把焦点放在哪里.
在一个页面中,按ENTER 默认的就是提交事件,就如 caicaibao(菜菜(包))所说!
但是不触发按钮事件如果你是想触发TEXTBOXCHANGE事件,首先必须更改TEXTBOX的TEXT属性,然后无论是通过提交按钮还是ENTER提交,都会触发!光是焦点放在那里是不起作用的!还有,如果你想在修改TEXTBOX后就马上触发TEXTBOXCHANGE事件 必须将TEXTBOX控件的AUTOPOSTBACK属性设置成TRUE
焦点可能会转移到下一的TextBox里,而这不一定是想要的结果!
+++++++++++++++++++++++++++++++++++++++++++++++只要焦点不在TextBox,且值变化以后就会触发。不是一定要按回车的。