濮阳杆衣贸易有限公司

主頁 > 知識庫 > asp.net表單提交時防重復提交并執(zhí)行前臺的JS驗證

asp.net表單提交時防重復提交并執(zhí)行前臺的JS驗證

熱門標簽:辦理400電話證件 外呼系統(tǒng)費用一年 十堰正規(guī)電銷機器人系統(tǒng) 怎么給超市做地圖標注入駐店 寧波自動外呼系統(tǒng)代理 巫師3為什么地圖標注的財寶沒有 手機地圖標注如何刪除 世紀佳緣地圖標注怎么去掉 外呼系統(tǒng)代理品牌
在項目開發(fā)中,遇到這樣的一個情況,就是用戶重復提交。當然這個不能怪用戶,只能怪.NET或者服務器反應遲鈍......我是這樣理解的。
在網(wǎng)上搜了一下,解決方案是不少,比如:
http://bbs.csdn.net/topics/340048988
(這個大家提了不少建議)
http://www.cnblogs.com/blsong/archive/2009/12/24/1631144.html
(這個基本上總結了網(wǎng)上的方法)
但實際上做互聯(lián)網(wǎng)web項目中,需要在前臺執(zhí)行JS或者Jquery的驗證(主要是增強用戶體驗),那么再使用上面的方法,就會出現(xiàn)問題。要么重復提交依然存在,要么前臺JS驗證失效。最后沒辦法,只有自己寫一個,在滿足阻止用戶重復提交的情況下,還能保證前臺JS驗證有效。代碼如下:
復制代碼 代碼如下:

//按鈕注冊加載樣式事件
var ItSelfButton;
var ControlRegPostResult = true;
function AddInputClick() {
$("input[type='submit']").click(function () {
ItSelfButton = $(this);
if (ItSelfButton.attr("repeat") == null) {
var btnDiv = $("div>");
btnDiv.attr("id", "Mask_BTN");
var divimg = $("img>");
divimg.attr("alt", "加載中...");
divimg.attr("src", "/Images/ButtonLoading.gif");
divimg.css({ "margin-left": ($(this).width() - 4) / 2, "margin-top": ($(this).height() - 16) / 2 });
btnDiv.append(divimg);
btnDiv.css({ width: $(this).width() + 12 + "px", height: $(this).height() + "px", top: $(this).offset().top + "px", left: $(this).offset().left + "px", position: "absolute" });
$(document.body).append(btnDiv);
setTimeout(MaskTimeOutRemove, 200);
}
});
}
$(function () {
AddInputClick();
});
$(window).resize(function () {
if (ItSelfButton != null) {
$("#Mask_BTN").css({ top: ItSelfButton.offset().top + "px", left: ItSelfButton.offset().left + "px" });
}
});
function MaskRemove() {
$("#Mask_BTN").remove();
}
function MaskTimeOutRemove() {
if (!ControlRegPostResult) {
$("#Mask_BTN").remove();
ControlRegPostResult = true;
}
}

其中在JS 驗證失敗中將
復制代碼 代碼如下:

ControlRegPostResult = false;

這樣基本上滿足我的目的了。
ButtonLoading.gif 可以是一個打轉的圖片 ,也可以和按鈕一樣大。反正目的是這個層把按鈕遮住。
您可能感興趣的文章:
  • Jquery+asp.net后臺數(shù)據(jù)傳到前臺js進行解析的方法
  • asp.net后臺cs中的JSON格式變量在前臺Js中調(diào)用方法(前后臺示例代碼)
  • ASP.NET 前臺javascript與后臺代碼調(diào)用
  • 淺談AjaxPro.dll,asp.net 前臺js調(diào)用后臺方法

標簽:通遼 嘉興 景德鎮(zhèn) 山西 泰州 牡丹江 天門

巨人網(wǎng)絡通訊聲明:本文標題《asp.net表單提交時防重復提交并執(zhí)行前臺的JS驗證》,本文關鍵詞  asp.net,表單,提交,時防,重復,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《asp.net表單提交時防重復提交并執(zhí)行前臺的JS驗證》相關的同類信息!
  • 本頁收集關于asp.net表單提交時防重復提交并執(zhí)行前臺的JS驗證的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    噶尔县| 星子县| 普陀区| 南江县| 洛川县| 顺义区| 乃东县| 梧州市| 新化县| 漠河县| 溆浦县| 柘荣县| 宁夏| 马公市| 横山县| 渝北区| 肃宁县| 锦屏县| 黄山市| 筠连县| 沧州市| 莒南县| 渭南市| 阿图什市| 彰武县| 靖江市| 铁岭市| 太湖县| 武义县| 五原县| 中西区| 呼伦贝尔市| 平和县| 安徽省| 东海县| 徐水县| 龙州县| 明水县| 西林县| 乌鲁木齐县| 民权县|