1. 程式人生 > >jquery表單防重複提交

jquery表單防重複提交

網站中防止表單重複提交是一個比較普遍的需求,解決辦法很多種

有利用session和cookie即生成個一次性token放在表單隱藏域防重複提交

有利用js設定變數鎖定

這裡以設定表單失效來實現

<!DOCTYPE html>
<html>
<head>
	<title>註冊</title>
	<meta name="viewport" content="width=device-width,initial-scale=1.0">
	<meta charset="utf-8">
	<script src="../jquery-1.7.2.min.js"></script>
	<style>
	.submit-btn{  color: #fff;background-color: #7d61dd;}
	.disabled{
		background-color: #bbbbbb;
		cursor: not-allowed;
		color: #848484;
		text-shadow: 0 1px 0 #f5f5f5;
	}
	</style>
</head>
<body class="">
<form action="ajax.php" name="form1" id="form1" class="form-horizontal" autocomplete="off">
	<input type="text" name="username">
	<input type="hidden" name="token" value="提交">
	<input type="button" class="submit-btn ajax-post" name="" value="提交" target-form="form-horizontal">
</form>
<script>
	//ajax post submit請求
	$(document).ready(function() {
		$(".ajax-post").click(function(){
			var that = this;
			$(that).addClass('disabled').attr('autocomplete','off').prop('disabled',true);
			$.post("ajax.php",
					$("#form1").serialize(),
					function(data){
						if(data.status==1){
						}else{
							alert(data.info)
						}
						$(that).removeClass('disabled').prop('disabled',false);//注意post裡this標識jquery 所以得用that儲存 或者$(".ajax-post")
					},
				'json');
			return false;
		
		})
	})
	</script>
</body>
</html>
ajax.php
<?php
sleep(2);
$conn=mysql_connect("localhost","root","123456")or die ('連線資料庫伺服器失敗:'.mysql_error());;
mysql_select_db("test",$conn);
mysql_query("set names 'utf8'");
$username=$_REQUEST['username'];
$sql="insert into user(number)values($username)";
$query=mysql_query($sql);
$json=array('status'=>1,'info'=>'資訊');
mysql_close($conn);
echo json_encode($json);
?>



相關推薦

jquery重複提交

網站中防止表單重複提交是一個比較普遍的需求,解決辦法很多種 有利用session和cookie即生成個一次性token放在表單隱藏域防重複提交 有利用js設定變數鎖定 這裡以設定表單失效來實現 &l

Http協議與防止重複提交實戰解決方案

http長連線與短連線 HTTP協議與TCP/IP協議的關係 HTTP的長連線和短連線本質上是TCP長連線和短連線。HTTP屬於應用層協議,在傳輸層使用TCP協議,在網路層使用IP協議。IP協議主要解決網路路由和定址問題,TCP協議主要解決如何在IP層之上可靠的傳遞資料包

form防止重複提交的方法

會引起表單重複提交的情況:f5重新整理頁面, 點選瀏覽器後退,重複點選提交按鈕前臺:1. 提交後按鈕置灰,或者新增蒙板2. PRG模式,表單提交後,redirect到一個倒計時頁面,或者資訊提示頁面,等有成功資訊返回後,再跳轉回之前頁面。3. js中設定標記為判斷後臺:1 s

防止重複提交處理的前後臺兩種處理方式

方法一:session中控制:jsp頁面: //設定標誌變數SubmitFlag值 session.putValue("SubmitFlag","complaint_add.jsp");control層:  public String addxxx(){ Strin

提交加遮罩層重複提交

遮罩層: 增加css樣式: .loadingWrap{ position:fixed; top:0; left:0; width:100%; height:100%; z-index:300; background-

提交加遮罩層和重複提交

遮罩層:css里加.loadingWrap{ position:fixed; top:0; left:0; width:100%; height:100%;

Struts2驗證、模型驅動、重複提交、資料回顯筆記整理

 剛學完一些零散的struts內建功能,做點筆記,就當回顧一遍,也便以後使用。 -------------------------------------------------------------------------------------------------

jQuery提交

{} on() target 綁定 .get 內容 action tor xhr 【轉自】jQuery最簡單的表單提交方式 第一步:綁定事件 常用的與ajax相關的事件參考如下: 1、$(selector).click(function) 2、$(selector)

jquery非同步提交

 <script type="text/javascript">     $("input").blur(function(){          var $formData=$("#frm");  

jQuery提交和後臺互動

要求:僅使用jQuery提交表單和後臺互動,不使用基於jQuery的表單外掛方式1、取到頁面控制元件的值後拼接放在data中,傳遞到後臺頁面程式碼:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN

使用jQuery重用form並非同步提交到其他action

在做頁面開發的時候,有時候要重用表單的資料,並非同步請求提交到其他的連結中,這個時候就可以使用jquery去修改表單的action值(記得使用後修改回來),並呼叫submit方法,當然後臺的連結action或者controller方法必須返回值型別為void,否則將發生頁面

jquery ajax重複提交

jQuery是經常使用的一個開源js框架,其中的$.ajax請求中有一個beforeSend方法,用於在向伺服器傳送請求前執行一些動作。 具體可參考jQuery官方文件:http://api.jquery.com/Ajax_Events/ $.ajax({ beforeSend: function

jquery提交方法submit()特別注意

先看如下Jquery程式碼: function goPage(page){ $('#pg').val(page); $('#pc_form').submit(); }html部分<s

jquery序列化

post -s 服務 put php function ray tex col $(function(){ $(‘#send‘).click(function(){ $.ajax({ type: "GET",

防止重復提交

防止表單重復提交 scrip jquery插件 http請求 這就是 如果 防止表單 提交 最有 表單重復提交是在多用戶Web應用中最常見、帶來很多麻煩的一個問題。有很多的應用場景都會遇到重復提交問題,比如: 點擊提交按鈕兩次。 點擊刷新按鈕。 使用瀏覽器後退按鈕重復之前

from 回車自動提交

clas rom form 輸入 log span blog submit inpu 自動提交的情況 1 表單只有單個輸入框 2 type=‘submit 這裏註意button默認type為submit 解決方法 1 添加一個隱藏的輸入框 2 form添加屬性 o

異步提交數據

charset ret chan app text content con reat lec <form name="form1"> <input name="dsfurl" type="hidden" id="dsfurl">

防止重復提交的解決方案整理

請求 利用 重定向 註意 每次 情況 清空 訪問 png 用戶在操作表單Post數據時往往會出現表單數據重復提交的問題,尤其在Web開發中此類問題比較常見。刷新頁面,後退操作以前的頁面,單機多次按鈕都會導致數據重復提交。此類問題是因為瀏覽器重復提交HTTP請求導致。

jQuery事件

hang change 用戶 chang 失去 blur tar 失去焦點 jquery 1、focus() 獲得焦點,適用於所有元素2、blur() 失去焦點,適用於所有元素3、change() 當內容改變時觸發 只適用於 input textarea select4

重復提交--->使用Session防止重復提交

user 提交表單 orm 數據庫 lis string attribute ren https   表單重復提交一般情況下有3種場景:   1> 網絡延遲時,不斷點擊submit按鈕   2> 表單提交後,用戶點擊刷新   3> 表單提交後,用戶返回表單