表单形式:
<form action="/项目应用名/servlet/RegestServlet" mothod="post">
用户名:<input type="text" name="username">
<input type="submit" value="提交">
</form>
方法一:通过标志来注明是否是第一次提交,是:return true;否:return false;
需要操作:修改form标签为<form action="/项目应用名/servlet/RegestServlet" mothod="post" οnsubmit="return dosubmit()">
具体代码:
<script language="javascript">
var iscommited = false;
function dosubmit(){
if(!iscommited){
iscommited = true;
return true;
}else{
return false;
}
}
</script>
<form action="/项目应用名/servlet/RegestServlet" mothod="post" οnsubmit="return dosubmit()">
用户名:<input type="text" name="username">
<input type="submit" value="提交">
</form>
方法二:通过禁用submit按钮来实现重复提交
具体代码:
<script language="javascript">
function dosubmit(){
var input = document.getElementById("submit");
input.disabled = 'disabled';
return true;
}
</script>
<form action="/项目应用名/servlet/RegestServlet" mothod="post" οnsubmit="return dosubmit()">
用户名:<input type="text" name="username">
<input id="submit" type="submit" value="提交">
</form>
缺陷:如果有人知道了我们采用javascript进行拦截重复提交,他们可以采取将我们的页面代码另存,然后在form表单的action中补充完整的访问路径,并去除我们的javascript拦截,那么同样会出现重复提交的现象。