導航:首頁 > 編程語言 > js控制重復提交

js控制重復提交

發布時間:2023-03-12 14:34:43

js Ajax請求如何防止重復提交

好長時間沒寫js代碼了剛好遇到這樣的問題。我們系統多數表單沒有做防止重復提交的。
由於不想在後端這邊處理,因為假如由後端處理的話,就需要在頁面載入的時候給出一次性的token值,加大了開發的工作量不說,還容易忘記做這個,同時,ajax也不好處理,需要提交失敗的話同時返回新的token值。
所以我想在,js這邊動手。其實以前和前端提過,久久不見動靜,就只好弄塊磚丟出去了。思路是,覆蓋掉$.ajax,在這裡面處理掉防止重復提交的問題,而前端的業務開發不受影響,不改代碼,無感知。
我想架構的目的之一,就在於簡化業務開發,屏蔽掉業務無關的細節,讓一線開發安心寫業務吧。
代碼如下:
/**
*
Created
by
xiayongsheng
on
2016/6/12.
*/
;(function($){
var
ajax
=
$.ajax;
//
用於存儲ajax的請求
var
ajaxState
=
{};
var
kinhomAjax
=
function
()
{
var
args
=
Array.prototype.slice.call(arguments,
0);
//
url
data
一致,
//
應該將
url取出,data按鍵值排序,後將值拼接在一起,進行sha1得到的值作為指紋
//
累先用
url作為指紋吧
var
hash
=
typeof
args[0]
===
'string'?args[0]:args[0].url;
if
(typeof
ajaxState[hash]
!==
'undefined')
{
if
(ajaxState[hash]
>
3)
{
alert('請不要重復提交,請求正在處理中');
}
++ajaxState[hash];
return
$.Deferred();
}
ajaxState[hash]
=
1;
var
def
=
ajax.apply($,args);
def.done(function
()
{
delete
ajaxState[hash];
});
return
def;
};
$.ajax
=
kinhomAjax;
})(jQuery);
以上所述是小編給大家介紹的JS
Ajax請求如何防止重復提交的相關知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

㈡ JS WEB前端開發如何防止重復提交的實現方

在點擊提交按復鈕制後,將提交按鈕立刻 禁用,然後在ajax請求成功後,再重新啟用,下面是個簡單的例子

$(".submit").click(function(){
$(this).attr("disabled",true);
$.ajax({
url:url,
success:function(data){
$(this).attr("disabled",false);
}
});

});

㈢ js 怎樣防止 刷新重復提交

第一種方法:
<script
language="」javascript」">
var
checkSubmitFlg
=
false;
function
checkSubmit(){
if(checkSubmitFlg
==true){
return
false;
//當表單被提交過一次後checkSubmitFlg將變為true,根據判斷將無法進行提交。
}
checkSubmitFlg
==true;
return
true;
}
<
/script
>
<
form
name=」form1」
method=」post」
onsubmit=」return
checkSubmit();」>
………..<
/form>
第二種方法:
在onsubmit事件中設置,在第一次提交後使提交按鈕失效,代碼如下:
<form
action=」about:blank」
method=」post」
onsubmit
=」getElementById(『submitInput').disabled=true;return
true;」
target=」_blank」>
<input
type=」submit」
id=」submitInput」/>
</form>
<script
Language='JavaScript'>
function
formsubmit()
{
Today
=
new
Date();
var
NowHour
=
Today.getHours();
var
NowMinute
=
Today.getMinutes();
var
NowSecond
=
Today.getSeconds();
var
mysec
=
(NowHour*3600)+(NowMinute*60)+NowSecond;
if((mysec-document.formsubmitf.mypretime.value)>600)
//600隻是一個時間值,就是5分鍾內禁止重復提交,值隨你高興設
{
document.formsubmitf.mypretime.value=mysec;
}
else
{
alert('
按一次就夠了,請勿重復提交!請耐心等待!謝謝合作!');
return
false;
}
document.forms.formsubmitf.submit();
}
</script>
</HEAD>
<BODY
BGCOLOR="#FFFFFF">
<form
name=formsubmitf
id
="the"
method="post"
action="XXX.asp">
<input
type=hidden
name='mypretime'
value='0'>
//這句不能少,用隱含變數傳遞一個時間初值
//這里是你要提交的內容
<input
type="button"
value="寫好了"
name="button1"
class="4round"
onclick='formsubmit()'>
<font
class="red">(請按一次,耐心等待!)</font>
<input
type="reset"
value="重
寫"
name="button2"
class="4round">
</form>
望採納!

㈣ js如何實現禁止重復提交表單

很簡單的 點擊提交表單這個按鈕後 在提交表單的js事件里 把按鈕凍結了 這是內最簡單的方法
凍結表單,容就是把disable屬性設置成true就行了
用的是手機 不是電腦 不太方便給你完整代碼 不明白的問我

㈤ js 怎樣防止 刷新重復提交

1、用 javascript 設置一個變數,只允許提交一次;
參考如下:
<script type="text/javascript">
checkSubmitFlg = false;
function checkSubmit(){
if (checkSubmitFlg == true){
return false;
}
checkSubmitFlg = true;
return true;
}
document.ondblclick =
function docondblclick(){
window.event.returnValue = false;
}
document.onclick =
function doconclick(){
if (checkSubmitFlg){
window.event.returnValue = false;
}
}
</script>
<form action="action.php" method="post" onsubmit="return checkSubmit();">

用 javascript 將提交按鈕或者 img 置為 disable;
參考如下:
<form action="action.php" method="post" onsubmit="getElById('submitInput').disabled = true;return true;">
<img styleId="submitInput" src="images/ok_b.gif" border="0" />
</form>

㈥ vue.js怎樣解決按鈕多次點擊重復提交

建議使用ref,給button添加註冊ref引用,然後在表單提交的時候,獲取button按鈕,使其disable置灰。

ref被用來內給元素容或子組件注冊引用信息。引用信息將會注冊在父組件的$refs對象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素;如果用在子組件上,引用就指向組件。

<divid="app">
<buttonref="mybutton"type="primary"@click="save">保存</button>
</div>
<script>
newVue({
el:"#app",
data:{
},
methods:{
save(){
this.$refs.mybutton.disabled=true;
}
}
})
</script>
<style>
:disabled{
border:1pxsolid#DDD;
background-color:#F5F5F5;
color:#ACA899;
}
</style>
閱讀全文

與js控制重復提交相關的資料

熱點內容
怎麼把ps文件變成源文件 瀏覽:807
如何把圖片放進這個文件夾 瀏覽:530
誰有qq認證圖標復制 瀏覽:881
2014年web伺服器測試工具 瀏覽:192
win7鏡像文件怎麼用 瀏覽:983
多數據can怎麼發送 瀏覽:997
什麼是夏威夷果種植技術app 瀏覽:160
上海學習編程哪個地方好 瀏覽:958
股票軟體與交易編程軟體哪個好 瀏覽:216
linux如何查看一個文件的位置 瀏覽:911
c頭文件無法打開源文件stdafx 瀏覽:750
蘋果x的桌面上可以建文件夾 瀏覽:368
ug8532位破解版安裝教程 瀏覽:490
電腦網路如何重新驅動 瀏覽:125
win10連接伺服器命令 瀏覽:228
盧克raid活動20升級卷 瀏覽:969
機票預訂什麼網站好 瀏覽:690
讀寫xml配置文件 瀏覽:153
java爬蟲解析html 瀏覽:861
約瑟夫集合java 瀏覽:275

友情鏈接