当前位置:首页 > 代码片段

HTML5表单验证与AjaxFrom结合用法

Z先生10年前 (2016-05-04)代码片段8275

在某些特定时候,不知道什么的情况下,出现了HTML5原生的验证,使用ajaxForm提交后无效的情况。

所以自己写了这个小函数,用来解决该问题,只需要将该函数加入到ajaxForm的beforeSubmit中即可;

ep:

var _form, _btn, _text, _chk;
	var submit_option = {
		type: "post",
		dataType: "json",
		beforeSubmit: function() {
			return checkForm(_form);
			xcwl.loading();
			_btn.attr("disabled", "disabled").text("正在提交...");
		},
		success: function(data) {
			//成功后返回
			if (data.success == true) {
				xcwl.tips(data.message, function() {
					xcwl.go("{U(array(m=>member))}")
				})
				_form.resetForm();
			} else {
				xcwl.tips(data.message);
			}
			xcwl.loading(1);
			_btn.removeAttr("disabled").text(_text);
		}
	}

下面就是核心函数啦。

window.checkForm = function(theform) {
	var myform = (theform instanceof jQuery) ? _form[0] : theform;
	myform = typeof(myform) == "object" ? myform : document.querySelector(theform);
	if (myform == undefined) {
		return false;
	}
	for (var i = 0; i < myform.elements.length; i++) {
		var el = myform.elements[i],
			isvalid = el.checkValidity();
		if (!isvalid) {
			var tipinfo = el.getAttribute("title") ? el.getAttribute("title") : el.getAttribute("placeholder");
			if (tipinfo) {
				alert(tipinfo);
				el.focus();
			}
			return false;
		}
	}
	return true;
}


分享给朋友:

相关文章

require基础使用、加载解决思路、下载(含require-css)

1、app.js(记得所有的JS都要做映射,包括外部引用的,比如:地图、微信等API的JS)require.config({ paths: { "require-css&…

国密加密算法SM4,JS和PHP实现版

php版核心代码```sm4KeySchedule($key); $bytes = $this-˃pad($data, $this-˃_block_size); $chunks =…

接口加密des算法,php和js实现版

DES 加密算法 该函数接受一个 8 字节字符串作为普通 DES 算法的密钥(也就是 64 位,但是算法只使用 56 位),或者接受一个 24 字节字符串作为 3DES 算法的密钥;第二个参数是要…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。