遇到过表单提交两次的情况,做个记录;

解决场景:首先是表单验证,其次是防止多次提交表单;

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中防止表单提交两次的方法的更多相关文章

  1. MVC中处理表单提交的方式(Ajax+Jquery)

    MVC中处理表单有很多种方法,这里说到第一种方式:Ajax+Jquery 先看下表单: <form class="row form-body form-horizontal m-t&q ...

  2. 在Action中获取表单提交数据

    -----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2 ...

  3. ajaxSubmit 页面生成的html 中含有表单提交表单方式

    $("#form_title").ajaxSubmit({ //页面生成的html 中含有表单提交表单方式 dataType: "json", success ...

  4. koa 基础(十)原生node.js 在 koa 中获取表单提交的数据

    1.app.js // 引入模块 const Koa = require('koa'); const router = require('koa-router')(); /*引入是实例化路由 推荐*/ ...

  5. form表单提交的几种方法

    form表单提交的几种方法 <form id="myform" name="myform" method="post" onsubmi ...

  6. jQuery判断 form表单提交时一些文本框的判断

    一: form表单提交时如果表单里有input标签为空那么不提交form表单. <head> <script type="text/javascript"> ...

  7. jQuery补充之jQuery扩展/form表单提交/滚动菜单

    jQuery扩展 为了避免重复造轮子,能高效使用别人的代码,所以有了扩展. jQuery扩展有两种方式: 自执行函数方式 定义函数,并执行函数. 自执行函数: (function(jq){ jq.ex ...

  8. EasyUI中在表单提交之前进行验证

    使用EasyUi我们可以在客户端表单提交之前进行验证,过程如下:只需在onSubmit的时候使用return  $("#form1").form('validate')方法即可,E ...

  9. asp.net.mvc 中form表单提交控制器的2种方法和控制器接收页面提交数据的4种方法

    MVC中表单form是怎样提交? 控制器Controller是怎样接收的? 1..cshtml 页面form提交 (1)普通方式的的提交

随机推荐

  1. 2、LwIP协议栈规范翻译——协议层

    2.协议层 TCP/IP套件中的协议是以层次的方式设计的,其中每个协议层解决了通信问题的单独部分.这种分层可以用作设计协议实现的指南,因为每个协议可以与另一个分开实现.然而,以严格分层的方式实现协议可 ...

  2. 【托业】【新东方托业全真模拟】TEST07~08-----P5~6

    unless ---conj:barring(除非,不包括)perp+名词短语 be capable of doing 有能力做某事 qualified commensurate with 与……相应 ...

  3. 线程 学习教程(一): Java中终止(销毁)线程的方法

    结束线程有以下三种方法:(1)设置退出标志,使线程正常退出,也就是当run()方法完成后线程终止 (2)使用interrupt()方法中断线程 (3)使用stop方法强行终止线程(不推荐使用,Thre ...

  4. python框架之Django(12)-认证系统之auth模块

    我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Django作为一个完美主义者的终极框 ...

  5. JAVA:IDEA使用Hibernate(2)

    1.打开IDEA新建项目 勾选Hibernate.勾选下方生成相关配置和类 下方选择Download,如果使用本地已经下载的包则选择 Use Library ,路径选到包里面的require里导入即可 ...

  6. 深入理解Java虚拟机3-chap4-5-斗之气10段

    一.虚拟机性能监控与故障处理 1.JDK的命令行工具:对jdk/lib/tools.jar的薄包装,Linux下可能是Shell编写,执行类似于Linux中的命令 2.可视化工具JConsole 打开 ...

  7. 关于view.py 中 ajax json 的用法

    1. data=models.Citys.objects.filter(upid=0) data 的数据形式是一个查询集(也是一个列表,查询出来的每一条数据是一个对象): <QuerySet [ ...

  8. caffe-ssd的GPU在make runtest的时候报错:BatchReindexLayerTest/2.TestGradient,where TypeParam=caffe::GPUdevice(<float>)(<double>)

    make runtest报错:BatchReindexLayerTest/2.TestGradient,where TypeParam=caffe::GPUdevice<float> Ba ...

  9. Eclipse Error Reporting Welcome to the Eclipse Error Reporting Service.Do you want to help Eclipse? Enable Disable

    在开发的时候,使用Eclipse IDE,提示如下信息, 这是Eclipse的错误报告,如果不想发送,可以关闭掉,关闭方法: 选择Preferences -> General -> Err ...

  10. c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.Environment.Exit(0);

    本文实例总结了C#中WinForm程序退出方法技巧.分享给大家供大家参考.具体分析如下: 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit ...