JQuery脚本-通过禁用按钮防止表单重复提交
2014-08-21 07:50
501 查看
<script type="text/javascript"> /* jquer 脚本,避免重复提交 隐藏点击的submit,后在他之后插入同名button伪装成被隐藏的submit 最后禁用全部可见的submit和button 最终效果:点击按钮提交表单后,点击后退按钮,返回提交表单页面,提交按钮已被禁用 注:此方法毕竟在客户端处理,防君子不防小人 */ $(document).ready(function() { $(":submit").click(function() { $(this).hide(); $(this).after("<input type=\"button\" value=\"" + $(this).val() + "\">"); $(":submit:visible").attr("disabled", "disabled"); $(":button:visible").attr("disabled", "disabled"); alert($(this).val()); }); }); </script>
******************************************************************************************************
这里提供两种不同情况下的阻止重复点击解决方案。
1.按钮BUTTON类
2.<a>标签类
对于第一类情况,button有一个属性是disabled控制其是否可以点击,看代码:
<input type="button" value="Click"id="subBtn"/> <script type="text/javascript"> function myFunc(){ //code //执行某段代码后可选择移除disabled属性,让button可以再次被点击 $("#subBtn").removeAttr("disabled"); } $("#subBtn").click(function(){ //让button无法再次点击 $(this).attr("disabled","disabled"); //执行其它代码,比如提交事件等 myFunc(); }); </script>
第二类情况,可以使用按钮或链接的click事件来执行预期的单击动作,然后将事件处理重定向,以阻止其余的点击。
<a href="javascript:;" onclick="return funcOne();">点击</a> <scripttype="text/javascript"> function funcOne(){ //点击一次后把funcTwo赋给funcOne,funcTwo是一个什么也不执行的函数,因此再次点击不执行任何操作 funcOne=funcTwo; alert("Clickthe button!"); return false; } function funcTwo(){ return false; } </script>
相关文章推荐
- JQuery脚本-通过禁用按钮防止表单重复提交
- asp.net 防止用户通过后退按钮重复提交表单
- 防止用户通过IE的后退按钮,重复提交相同的表单?
- 【转】防止用户通过后退按钮重复提交表单ASP中的response.Buffer,Response.Expires,Response.CacheControl
- (表单重复提交)jquery验证 通过时,提交按钮变灰,不通过时正常显示
- 防止用户通过后退按钮重复提交表单
- asp.net 防止用户通过后退按钮重复提交表单
- asp.net 防止用户通过后退按钮重复提交表单
- Jquery 实现表单提交按钮变灰,防止多次点击提交重复数据
- jq表单提交时 禁用提交按钮 防止表单重复提交 jq方法
- 如何通过禁用按钮避免jQuery.ajax重复请求
- 提交一次后按钮变灰,防止重复提交表单
- asp.net防止刷新时重复提交(可禁用工具条刷新按钮)
- 提交一次后按钮变灰,防止重复提交表单
- asp.net禁用按钮以防止重复提交
- asp.net禁用按钮以防止重复提交
- asp.net防止刷新时重复提交(可禁用工具条刷新按钮)
- 前台防止表单重复提交的方法。Jquery、js
- Web Form通过禁用回车键 防止defaultbutton提交表单
- 【转】jquery禁用submit按钮 防止重复