asp点击提交按钮后让按钮变灰无法使用,该如何实现?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp点击提交按钮后让按钮变灰无法使用,该如何实现?相关的知识,希望对你有一定的参考价值。
参考技术A 假设 网页文件名字为:001.asp<%
flag=trim(request.Form("flag"))
if flag="save" then
response.Write("溪鸿影")
end if
%>
<form id="form1" method="post" action="">
<input name="submit" type="submit" value="提交" <% if flag="save" then %>disabled="disabled" <% end if %> />
<input name="flag" type="hidden" value="save" />
<input name="button" type="button" value="重新载入" onclick="window.location.href='001.asp'" />
</form>
说明:
此001.asp是在本页面内进行测试,当单击“提交”后,输出“溪鸿影”,同时 提交 按钮变为灰色的不可用状态,此时,单击“重新载入”,则回到最初的原始状态。追问
action是提交到另一页面的,没有在本页刷新,这样可以不?我试下
参考技术B <script language="javascript">// 表单提交检测
function doCheck()
document.form1.Submit1.disabled=true;
document.form1.Submit1.value="正在投递中,请稍侯……";
</script>
<from>中加上onSubmit="return doCheck()" 参考技术C 根据需要把控件置成disabled就OK了
Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据
表单提交时候我们应该控制提交按钮,不能点击多次进行数据的重复提交。要不然就会有冗余的重复的数据在系统中,造成系统出现数据垃圾。jQuery很简单的就可以实现对表单提交按钮控制,下面就是相关的例子和代码。
- <form action="${pageContext.servletContext.contextPath}/XXX/###" method="post" id="messageForm">
- 姓名:<input name = "name" type="text" />
- <button type="button" id="submit">提交申请</button>
- </form>
- <script>
- $("#submit").click(function(){
- $(this).attr("disabled","true"); //设置变灰按钮
- $("#messageForm").submit();//提交表单
- setTimeout("$(\'#submit\').removeAttr(\'disabled\')",3000); //设置三秒后提交按钮 显示
- })
- </scritp></span>
- </span>
附:其他的实现方法,也使用了js
第一种:
- <form name=fm method="POST" action="/">
- <p>按钮变灰</p>
- name: <input type="text" name="name"/>
- <input type="button" value="提交" onclick="javascript:{this.disabled=true;document.fm.submit();}">
- </form>
第二种:
- <form name=fm method="POST" action="/" >
- <input type="submit" name="Submit" value="提交" id="submitId" onclick="submit();">
- </form>
- <script language="javascript">
- function submit()
- {
- var submitId=document.getElementById(\'submitId\');
- submitId.disabled=true;
- document.fm.submit();
- setTimeout("submitId.disabled=false;",3000); //代码核心在这里,3秒还原按钮代码
- }
- </script>
前后代码进行控制,后台代码也要进行控制,这样子就可以确保万无一失了!
后台代码控制表单提交有一个好的办法就是使用session, 具体可以参考下面这篇博文:
JavaWeb学习总结(十三)——使用Session防止表单重复提交
http://www.cnblogs.com/xdp-gacl/p/3859416.html
其实后台控制表单重复提交的原理:
(1)在表单提交页面生成一个唯一的token;token可以保存在session中。(若使用了缓存,也可以保存在缓存中)
(2)提交的时候验证,后台首先验证token,验证通过,才可以进行提交操作;
(3)当表单数据提交成功(保存到数据库-持久化),然后删除session(缓存)中对应的token。
在页面中添加Token防止越权访问-也可做表单重复提交,使用的原理也是Token!
转载于:http://blog.csdn.net/u010648555/article/details/49621533
以上是关于asp点击提交按钮后让按钮变灰无法使用,该如何实现?的主要内容,如果未能解决你的问题,请参考以下文章
Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据
Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据