日期:2014-05-18  浏览次数:20420 次

关于textbox按回车自动刷新页面的问题
VS2005,TextBox服务器控件按回车自动刷新页面,我需要阻止这项功能,按回车不刷新页面。

因为我主要做数据录入,一不小心就敲回车,前面录入的数据就会丢失。

而且这样的页面有N多,每个页面又有N多的Textbox服务器控件,怎样能使编程效率最高呢?


最好不要设置每个TextBox   ,大家有没有好的方法阿?我的TextBox写法如下:

  <asp:TextBox   ID= "T_fkqk "   runat= "server "   />


------解决方案--------------------
<body onkeydown= "return check(); ">

---
function check()
{
if(event.keyCode ==13)
if(event.srcElement == document.getElementById( 'thelastTextBox '))---这个判断你可以根据实际来定
return true;
else
return false;
}
------解决方案--------------------
up
------解决方案--------------------
up
------解决方案--------------------
帮顶了
------解决方案--------------------
呵呵
想到一个馊主义,可不可以那样,做必填项,然后用验证控件控制,
没填完整前,按回车就不会刷新页面了,只会报个msg
------解决方案--------------------
我觉得这个馊主意满快的,而且也可以选择不报msg
只是强制要求必填

或者对你要填的数据中确实是必填项的用验证控件控制着,那么大部分情况下就可以了啊
------解决方案--------------------
加个JS就行了
比如:
function aaa()
{
return window.confirm( "加载页面时间可能比较长,确认吗? ");
}

后台Page_Load里加:
button1.Attributes.Add( "onclick ", "return aaa() ");
------解决方案--------------------
如jimu8130(给老子跪下来唱征服) 的方法在文本框把回车屏蔽掉就o了吧.
------解决方案--------------------
直接用JS判断是否输入的回车键,然后返回false即可
------解决方案--------------------
2003好像不会刷新
------解决方案--------------------
try ->

// js IE 5+
window.document.onkeypress = function() {
if(event.keyCode ==13 &&
event.srcElement.tagName.toUpperCase() == "input " &&
event.srcElement.type= "text ") {
event.cacelBubble = true;
event.returnValue = false;
}
}
------解决方案--------------------
function keyDown() {
 var keycode = event.keyCode
 var realkey = String.fromCharCode(event.keyCode)
 if(keycode == 16)
 {
  setTimeout( "seedmsg() ",0);
 }
// alert( "keycode: " + keycode + " realkey: " + realkey)

}
document.onkeydown = keyDown
document.onkeydown = keyDown

可以监听键盘动作 把回车给替换掉
------解决方案--------------------
Js屏蔽回车事件~