只允许提交一次表单

在提交表单时,如果服务器响应速度慢,或者因为别的什么原因,导致按下提交出现“没反应”的情况,这是就要限制只允许提交一次表单以减轻服务器压力

有两种方式:

1.提交之后禁用按钮  2.提交之后取消后续的表单操作

第一种:

document.getElementById(‘提交按钮‘).disable==true; //将按钮禁用,不过缺点是可以通过回车来提交

 第二种:

window.onload=function(){
	var form=document.getElementById(‘form‘);
	flag=false;  //监听变量用于提交一次表单
	form.onsubmit=function(e){
		e.preventDefault();
		if (flag) {return;};
		flag=true;
		setTimeout(function(){
			alert(‘tijaio ‘);
			form.submit();
		},3000)

	}
}

//首先先禁用掉提交事件,让他3秒后提交,模仿请求服务器的过程,通过一个监听变量flag,第一次提交将他设置为true,判断 如果是true就退出不提交,以这种方式达到提交一次的目的

  

 

时间: 2025-01-06 10:50:50

只允许提交一次表单的相关文章

沫沫金 - jQuery序列化form表单【支持ajax提交form对象表单entity.xxx】

需要form表单提交,大表单对字段后台人工处理太麻烦.还是选择form表单对象(entity.xx)提交方便,那么怎么ajax提交这样的form对象表单呢? 命名jquery.commons.js内容如下 /**  * FORM对象表单ajax提交前数据处理方法  * @param frm  * @returns JSON Object  */ function getFormJson(frm) {     var o = {};     var a = $(frm).serializeArra

通过AJAX和PHP,提交JQuery Mobile表单

通过AJAX和PHP,提交JQuery Mobile表单   File name: callajax.php <?php $firstName = $_POST[firstName]; $lastName = $_POST[lastName]; echo("First Name: " . $firstName . " Last Name: " . $lastName); ?> File name: index.php <!DOCTYPE html&

Jquery serialize()提交多个表单数据

ajax提交多个表单数据: 先把不同的表单分别用serialize()函数,然后把序列化后的数据用+拼接提交给后台,具体例子如下 var data1 = $('#form1).serialize(); var data2 = $('#form2).serialize(); $.ajax({     url: url,     type: 'POST',     dataType: 'json',     data: data1+data2,    success: function (resul

Jquery实现只提交部分Form表单数据

Jquery文档中serialize()方法的描述为:序列表表格内容为字符串. 以下是测试代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Jquery实现只提交部分Form

ExtJS学习笔记3:加载、提交和验证表单

加载数据 1.比较好用的设置form数据的方法: formPanel.getForm().setValues([{id: 'FirstName', value: 'Joe'}]); 其中id值为form中field的name属性值,value为要赋的值 2.通过对象赋值: Ext.define('Request', { extend: 'Ext.data.Model', fields: [ 'FirstName', 'LastName', 'EmailAddress', 'TelNumberCo

ajax提交与普通表单提交的优缺点

一般需要提交整个表单,那么我们就需要提交form表单.比如查询,分页这种. 如果只是做局部刷新,那么可以采用异步ajax提交.这样请求的时候只用传需要的参数,然后请求成功后也不用整体刷新页面,只用局部刷新,这样节省了带宽, 比如我们采用ajax删除的时候. 所以当需要整体刷新的时候,那么就可以采用表单提交. 当要局部刷新的时候,我们采用ajax请求. 提交form表单: function query(){ var frm = document.getElementById("frm")

Ajax提交与传统表单提交的区别说明

Ajax提交是通过js来提交请求,请求与响应均由js引擎来处理,页面不会刷新,用户感觉不到实际上浏览器发出了请求.比如说我们希望网页总是显示最新的新闻,而又不想老是去点刷新按钮,我们就可以用Ajax机制来实现.网上的客服软件也是ajax请求的一个比较好的案例.传统的请求页面将实现刷新,因此局限性很大. 1.为什么用AJAX?使用AJAX,用户对Web的体验会更“敏捷”:数据提交页面不会闪屏:页面局部更新速度快:网络带宽占用低. 2.AJAX开发相较传统模式的简单之处:传统模式下,表单提交则整个页

ExtJS学习笔记3:载入、提交和验证表单

载入数据 1.比較好用的设置form数据的方法: formPanel.getForm().setValues([{id: 'FirstName', value: 'Joe'}]); 当中id值为form中field的name属性值.value为要赋的值 2.通过对象赋值: Ext.define('Request', { extend: 'Ext.data.Model', fields: [ 'FirstName', 'LastName', 'EmailAddress', 'TelNumberCo

表单提交时上传图片 表单ajax提交

页面 <script type="text/javascript" src="js/jquery.form.js"></script><script language="javascript">$(function() { //提交表单        $("#add").click(function() {            if($('#addForm').form('validate