0
這是我的表單驗證腳本。我在這裏使用了兩種形式。當我集中文本字段時,光標在兩個字段之間跳轉。 http://jsfiddle.net/q9Xq6/如何集中無效輸入字段
var $ = {
getById: function (e) {
return document.getElementById(e);
},
isEmpty: function (e, m) {
var e = $.getById(e);
var isValid = /[^.]/.test(e.value);
$.showMessage(isValid, e, m);
return isValid;
},
isAlpha: function (e, m) {
var e = $.getById(e);
var isValid = /[a-zA-Z]/.test(e.value);
$.showMessage(isValid, e, m);
return isValid;
},
isNumeric: function (e, m) {
var e = $.getById(e);
var isValid = /[0-9]/.test(e.value);
$.showMessage(isValid, e, m);
return isValid;
},
showMessage: function (valid, e, m) {
if (!valid) {
e.className = 'invalid';
console.log(m);
setTimeout(function() {
e.focus();
}, 100);
} else {
e.className = '';
}
},
_onBlur: function (form, event, func) {
var form = $.getById(form);
var elements = form.getElementsByTagName('*');
for (var i = 0; i < elements.length; i++) {
elements[i][event] = func;
}
}
}
var abc = function() {
return (
$.isEmpty('name', 'empty message') &&
$.isAlpha('name', 'alpha message') &&
$.isEmpty('phone', 'empty message') &&
$.isNumeric('phone', 'alpha message')
);
}
var abc1 = function() {
return (
$.isEmpty('name1', 'empty message1') &&
$.isAlpha('name1', 'alpha message1') &&
$.isEmpty('phone1', 'empty message1') &&
$.isNumeric('phone1', 'alpha message1')
);
}
$.getById("form").onsubmit = abc;
$._onBlur("form", "onblur", abc);
$.getById("form1").onsubmit = abc1;
$._onBlur("form1", "onblur", abc1);
//$._onBlur("form","onkeyup",abc);
指向您代碼的鏈接不起作用 – Drace
將代碼粘貼到問題部分 – Phoenix
我無法放置jsfiddele鏈接。這是我的實際網址http://jsfiddle.net/q9Xq6/ –