jQuery中防止表单提交两次的方法
遇到过表单提交两次的情况,做个记录;
解决场景:首先是表单验证,其次是防止多次提交表单;
jQuery中插件:validate_submitHandler_plugin,具体的可以使用关键字搜索;
使用方法:首先在前端定义form表单,然后jQuery来处理验证和提交:
<form id="application-form" class="form-horizontal">
<div class="rds panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">源表信息</h3>
</div>
<div class="panel-body">
<div class="form-group">
<label for="source-cluster" class="col-sm-2 control-label"><span class="required-field">*</span> 源集群:</label>
<div class="col-sm-8 control-section">
<input id="source-cluster" name="sourceCluster" class="form-control" value="${cluster.name}" readonly>
</div>
</div>
<div class="form-group">
<label for="source-schema" class="col-sm-2 control-label"><span class="required-field">*</span> 源数据库:</label>
<div class="col-sm-8 control-section">
<select id="source-schema" name="sourceSchema" class="form-control"></select>
</div>
</div>
</div>
</div>
<div class="rds panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">目标表信息</h3>
</div>
<div class="panel-body">
<div class="form-group">
<label for="target-cluster" class="col-sm-2 control-label"><span class="required-field">*</span> 目标集群:</label>
<div class="col-sm-8 control-section">
<select id="target-cluster" name="targetCluster" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label for="target-schema" class="col-sm-2 control-label"><span class="required-field">*</span> 目标数据库:</label>
<div class="col-sm-8 control-section">
<input type="text" id="target-schema" name="targetSchema" class="form-control" placeholder="database number">
</div>
</div>
</div>
</div>
<button id="btn-submit" type="submit" class="btn btn-primary" disabled>提交</button>
</form>
$("#application-form").validate({
rules: {
sourceCluster: "required",
sourceSchema: "required",
targetCluster: "required",
targetSchema: "required",
},
submitHandler: function() {
const sourceCluster = $("#cluster-name").val();
const sourceDatabase = $("#source-schema").selectpicker("val");
const targetCluster = $("#target-cluster").selectpicker("val");
const targetDatabase = $("#target-schema").val();
handleSubmit({sourceCluster, sourceDatabase, targetCluster, targetDatabase});
}
});
其中会遇到的问题,可以参考我在Stack Overflow上的回答:
https://stackoverflow.com/questions/23693658/jquery-validate-submits-form-twice
jQuery中防止表单提交两次的方法的更多相关文章
- MVC中处理表单提交的方式(Ajax+Jquery)
MVC中处理表单有很多种方法,这里说到第一种方式:Ajax+Jquery 先看下表单: <form class="row form-body form-horizontal m-t&q ...
- 在Action中获取表单提交数据
-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2 ...
- ajaxSubmit 页面生成的html 中含有表单提交表单方式
$("#form_title").ajaxSubmit({ //页面生成的html 中含有表单提交表单方式 dataType: "json", success ...
- koa 基础(十)原生node.js 在 koa 中获取表单提交的数据
1.app.js // 引入模块 const Koa = require('koa'); const router = require('koa-router')(); /*引入是实例化路由 推荐*/ ...
- form表单提交的几种方法
form表单提交的几种方法 <form id="myform" name="myform" method="post" onsubmi ...
- jQuery判断 form表单提交时一些文本框的判断
一: form表单提交时如果表单里有input标签为空那么不提交form表单. <head> <script type="text/javascript"> ...
- jQuery补充之jQuery扩展/form表单提交/滚动菜单
jQuery扩展 为了避免重复造轮子,能高效使用别人的代码,所以有了扩展. jQuery扩展有两种方式: 自执行函数方式 定义函数,并执行函数. 自执行函数: (function(jq){ jq.ex ...
- EasyUI中在表单提交之前进行验证
使用EasyUi我们可以在客户端表单提交之前进行验证,过程如下:只需在onSubmit的时候使用return $("#form1").form('validate')方法即可,E ...
- asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法
MVC中表单form是怎样提交? 控制器Controller是怎样接收的? 1..cshtml 页面form提交 (1)普通方式的的提交
随机推荐
- Spring之IOC注入
注入 spring依赖注入 set方法: <property name="属性名" values ="值">--ref="对象名" ...
- JavaScript 模拟 Dictionary
function Dictionary() { var items = {}; //判断是否包含Key值 this.has = function(key) { return key in items; ...
- JMeter已传值但是提示为空
登录时已经传值了,可是一直提示为空 解决:在在请求的url中拼接上参数
- 《Java程序设计》第二周学习记录(1)
目录 第2章 基本数据类型与数组 2.1 标识符与关键字 2.2 基本数据类型 2.3 类型转换运算 2.4 输入.输出数据 2.5 数组 参考资料 第2章 基本数据类型与数组 2.1 标识符与关键字 ...
- C#设计模式(7)——适配器模式(Adapter Pattern)(转)
一.引言 在实际的开发过程中,由于应用环境的变化(例如使用语言的变化),我们需要的实现在新的环境中没有现存对象可以满足,但是其他环境却存在这样现存的对象.那么如果将“将现存的对象”在新的环境中进行调用 ...
- MySql使用存储过程清除数据库所有表数据,保存数据结构
BEGIN DECLARE strClear VARCHAR(256); DECLARE done INT DEFAULT 0; #定义游标 DECLARE curOne CURSOR FOR sel ...
- https://scrapingclub.com/exercise/basic_login/
遇到的问题:csrftoken cfduid 是在request.headers里面的,一直在找怎么在scrapy里get request.header,从scrapy shell ,then fet ...
- MongoSpark 28799错误
Exception : . The full response is { , "codeName" : "Location28799" } at com.mon ...
- L1-049. 天梯赛座位分配
天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位 ...
- 破解网页右键被禁止js
按F12,点击console输入一下内容后按回车 javascript:alert(document.onselectstart = document.oncontextmenu= document. ...