关于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屏蔽回车事件~