关于onclick onkeydown onmousedown 的问题

heyday 2003-06-06 10:26:40
业务要求表单提交按钮实现这几个功能
1.按回车将提交表单(整个表单已经将回车替换成tab键)
2.快捷键提交表单
3.鼠标点击提交
由于按钮快捷键字母要实现下划线现在,所以只能用<button ></button>实现不能用<input>
我在button中onkeydown(判断是否是快捷键或回车)和onclick触发submit();
基本可以实现
但当焦点在按钮上时,使用快捷键时
会同时触发onkeydown和onclick
也就是会出现2次提交表单提示.
将onclick换成onmousedown也是这样.
代码如下:
---------------------------------------------------------------
<button type="button" class="button1" name="submitbutton" onmousedown="savedata();" onkeydown="keysavedata();">保存(<u>S</u>)</button>
------------------------------------------------------------------
<Script>
function keysavedata(){
if(((window.event.altKey)&&(window.event.keyCode==83))||(window.event.keyCode==13)){
document.forms[0].submitbutton.focus();
if(confirm("您是否保存所填写的数据key?"))
if(document.forms[0].onsubmit()){
document.forms[0].submit();
}
}
}
function savedata(){
if(confirm("您是否保存所填写的数据1?"))
if(document.forms[0].onsubmit()){
document.forms[0].submit();
}
}
</Script>
...全文
120 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoweiwei 2003-06-06
  • 打赏
  • 举报
回复
把onkeydown="keysavedata()"事件放在<body onkeydown="keysavedata()"></body>
xuzuning 2003-06-06
  • 打赏
  • 举报
回复
提交按钮改为
<button type="submit" name="submitbutton" accesskey="s">保存(<u>S</u>)</button>
在表单的onsubmit事件里调用savedata
fason 2003-06-06
  • 打赏
  • 举报
回复
try:
<body onkeydown="keysavedata()">
<form method=post target="_blank" action=1.asp onsubmit="return savedata()">
<button type="submit" class="button1" name="submitbutton" onclick="keysavedata()">保存(<u>S</u>)</button>
</form>
<Script>
function keysavedata(){
if(window.event.altKey&&(window.event.keyCode==83)){
document.forms[0].submitbutton.click();
}
}
function savedata(){
return(confirm("您是否保存所填写的数据1?"))
}
</Script>
</body>

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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