当前位置:首页 > 代码片段 > 正文内容

HTML5表单验证与AjaxFrom结合用法

Z先生9年前 (2016-05-04)代码片段8079

在某些特定时候,不知道什么的情况下,出现了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;
}


分享给朋友:

相关文章

JS倒计时核心代码

废话不多,看代码function wait() { if (_time <= 0) { document.locat...

iView/ElementUI的表单验证输入框只能输入number类型无效

iView/ElementUI的表单验证做表单验证的时候,框架默认使用的是async-validator,验证规则type=’number’时,输入数字还报错,是因为输入的数字其变量类型是字符,所以导...

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

php版核心代码<?php /** * Sm4加密解密类 * Class SM4 * @package common\helpers */ class SM4 {...

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

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

发表评论

访客

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