第1个回答 2012-03-13
下面的方法采用的是屏蔽法:
<script language="javascript">
//禁止用F5键
function document.onkeydown()
{
if ( event.keyCode==116)
{
event.keyCode = 0;
event.cancelBubble = true;
return false;
}
}
//禁止右键弹出菜单
function document.oncontextmenu()
{
return false;
}
//下面代码实现全屏显示
function window.onload(){
var Request = new Array();//保存参数
var s = location.search.substring(1);
if (s && s!=""){
var list = s.split("&");
for (var i=0; i < list.length; i++){
var pair = list[i].split("=");
if (pair[0] && pair[0] !=""){
Request[unescape(pair[0])] = unescape(pair[1]);
}
}
}
var fullscreen=Request["fullscreen"];
if(fullscreen!="yes"){
var file =self.location;
var a = window.open("about:blank","","fullscreen=yes")
self.opener=null
self.close()
a.location=file + "?fullscreen=yes";
}
}
</script>
第2个回答 推荐于2017-09-22
1、用 javascript 设置一个变量,只允许提交一次;
参考如下:
<script type="text/javascript">
var checkSubmitFlg = false;
function checkSubmit(){
if (checkSubmitFlg == true){
return false;
}
checkSubmitFlg = true;
return true;
}
document.ondblclick =
function docondblclick(){
window.event.returnValue = false;
}
document.onclick =
function doconclick(){
if (checkSubmitFlg){
window.event.returnValue = false;
}
}
</script>
<form action="action.php" method="post" onsubmit="return checkSubmit();">
用 javascript 将提交按钮或者 img 置为 disable;
参考如下:
<form action="action.php" method="post" onsubmit="getElById('submitInput').disabled = true;return true;">
<img styleId="submitInput" src="images/ok_b.gif" border="0" />
</form>
第3个回答 2012-03-13
JS在reload(重新加载)的时候是无效的,因为页面还没有加载如何执行JS?
这个问题还是到服务端解决。
我提供一个解决思路:
1. 在打开“表单页”的时候创建一个随机数,保存在SESSION中,同时也在表单中使用隐藏域保存此值
2. 用户提交表单时,验证隐藏域的值在SESSION中是否存在,存在则提交表单,且移除SESSION保存的随机值。不存在则说明此表单已经提交过了。
这个就是一楼“靳静刚”同学说说了令牌方式,我给解释通俗点~
我是写ASP.NET,实现起来很简单。如果你也是一样的语言可以短消息我寻求帮助
第4个回答 2012-03-16
提交的函数里面把提交的按钮Disable掉,一提交就不能点了,不会重复