html5 原生表單驗證+ajax 提交
阿新 • • 發佈:2019-01-09
html5 原生表單驗證 + ajax 提交 無需任何第三方驗證框架 通過pattern 和 oninvalid 屬性統一驗證表單 。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form action="#" method="post" onsubmit="return false">
<input type="text" name="mobile" id="mobile" placeholder="請輸入手機號碼"
pattern="^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$" oninvalid="validateIt(this,'手機號碼格式錯誤')" oninput="validateIt(this,'手機號碼格式錯誤')" required/>
<input type="text" name="age" id="address" placeholder="請輸入地址"
pattern ="^.{5,200}$" oninvalid="validateIt(this,'地址不符合規範')" oninput="validateIt(this,'地址不符合規範')" required/>
<button type="submit" id="submit" >提交</button>
</form>
</body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script >
function validateIt(inputelement,errMsg){
if(inputelement.validity.patternMismatch){
inputelement.setCustomValidity(errMsg);
}else{
inputelement.setCustomValidity(''); //輸入內容符合驗證條件
}
return true;
}
$(function() {
if ($("*:invalid") == 0) { // 如果驗證都通過
$("#submit").submit(function() {
$.ajax({
type: "post",
url: "你的地址",
data: $("form").serialize(),
async: true,
success: function(data) {
alert(data);
},
dataType: "json" // json 格式的返回值
});
});
}
});
</script>
效果圖