layui禁止多次點擊提交導致的表單重複提交情況

監聽提交事件,當單擊提交按鈕之後給按鈕增加一個屬性,在標籤的class屬性上添加 layui-disabled就沒辦法編輯啦

class="layui-disabled"

在這裏插入圖片描述

<div class="layui-input-block">
	<div class="layui-footer" style="left: 0;" >
		<button type="button" class="layui-btn site-demo-active" lay-submit lay-filter="formDemo">提交</button>
	</div>
</div>

在這裏插入圖片描述 

// 單擊之後提交按鈕不可選,防止重複提交
var DISABLED = 'layui-btn-disabled';
// 增加樣式
$('.site-demo-active').addClass(DISABLED);
// 增加屬性
$('.site-demo-active').attr('disabled', 'disabled');

請求響應失敗移除樣式,可再次提交

{
	layer.msg(result.message, {icon: 5});
	$('.site-demo-active').removeClass(DISABLED);
	$('.site-demo-active').removeAttr('disabled');
}

---

HTML輸入框只允許輸入正整數

<input type="text" class="layui-input" name="create_num" value="" placeholder="請輸入生成數量" lay-verify='myCreate' maxlength="4" οnkeyup="this.value=this.value.replace(/\D|^0/g,'')" onafterpaste="this.value=this.value.replace(/\D|^0/g,'')"/>

驗證數字是否在1-5000之間

var form = layui.form;
//表單驗證
form.verify({
	myCreate:function(value){
	//生成數量1~5000內數量
		if(value){
			var strRegex = /^\+?(\d|[1-9]\d{1,2}|[1-4]\d{3}|5000)(\.\d*)?$/;
			// var strRegex = /^([1-9][0-9]{0,1}|5000)$/;
			var re=new RegExp(strRegex);
			if(value < 1 || value > 5000){
				return '請輸入1~5000內數';
			}
			if(!re.test(value)){
				return '請輸入1~5000內數量';
			}else{
				return;
			}
		}else{
			return '請輸入1~5000內數量';
		}
	}
});

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章