F5 页面刷新问题

skywolfY 2010-01-05 01:53:18
一个C#.net程序,作了键盘控制。比如数据重复提交,快速按键,F2-F10的功能键控制。
但有一个问题 一直没有办法解决:
一个网页,有一个按钮,Button1,按下F5后,有选择对话框,按下回车后,由可触发 onsubmit件事的javascript提交页面。所有控制在onsubmit事件中处理完成。比如提交完成后,再按F5,不会给响应。

现在的问题是这个网页提交时,有个反应时间,可能是零点几秒吧,但就在这零点几秒的时间里,只要手够快,可以按两次F5加N多次回车。这时由于数据正在提交回传过程,页面是空白状态,F5的javascript 的控制无效,如果网页回传回后,又被刚才压在缓冲中的操作再次提交。这不是想要的结果。

不知哪位高手碰到过这种问题,寻求一解决方法。
...全文
374 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
michaelnami 2010-01-05
  • 打赏
  • 举报
回复
在第一次之后lock所有功能 刷新好之后再打开
koukoujiayi 2010-01-05
  • 打赏
  • 举报
回复
试验了一下完全可以,加了几行代码!!

<input id="Hidden1" type="hidden" value="0" />

js:
document.onkeydown = function() {
var evt = window.event || arguments[0];
if (document.getElementById("Hidden1").value == "0") {
document.getElementById("Hidden1").value = "1";
if (evt.keyCode == 116) {
//你的处理
alert("处理");
evt.keyCode = 0;
evt.cancelBubble = true;
return false;
}
}
}
l171147904 2010-01-05
  • 打赏
  • 举报
回复
这里又有。。。。。呵呵
誰是方長 2010-01-05
  • 打赏
  • 举报
回复
ing.....
koukoujiayi 2010-01-05
  • 打赏
  • 举报
回复
以下是否可以?
放一个
<input id="Hidden1" type="hidden" value="0" />

js:
document.onkeydown = function() {
var evt = window.event || arguments[0];
if (document.getElementById("Hidden1").value == "0") {
document.getElementById("Hidden1").value = "1";
if (evt.keyCode == 116) {
//你的处理
alert("处理");
return false;
}
}
}
skywolfY 2010-01-05
  • 打赏
  • 举报
回复
各位现在所说的方法,除了Ajax外,都已使用。但还是无法回避问题 。
Ajax在这地方的使用不现实,这地方代码书写8000行以上,页面数据多如牛毛,结构复杂。。。
jlspxy 2010-01-05
  • 打赏
  • 举报
回复
ding
zyj_604 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 koukoujiayi 的回复:]
按回车触发Button1的客户端事件,可以js中马上禁用这个Button!!
至于按F5可以在js中做个标记,第一次按设为1,处理完恢复为0,
在这期间再按F5,如为1,则不处理!!
[/Quote]

方法不错。

使用ajax也可以,只发送一次请求
koukoujiayi 2010-01-05
  • 打赏
  • 举报
回复
按回车触发Button1的客户端事件,可以js中马上禁用这个Button!!
至于按F5可以在js中做个标记,第一次按设为1,处理完恢复为0,
在这期间再按F5,如为1,则不处理!!
mytimes_walker 2010-01-05
  • 打赏
  • 举报
回复
就用Ajax提交吧!
sharp_future 2010-01-05
  • 打赏
  • 举报
回复
换个思路吧!
longhair9711 2010-01-05
  • 打赏
  • 举报
回复
ding......
tzs2304 2010-01-05
  • 打赏
  • 举报
回复
帮顶了
浪子-无悔 2010-01-05
  • 打赏
  • 举报
回复
占个沙发,顶下LZ 但是我不会哦~~

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧