Проверка, которая не может быть пустой (.notnull) в форме обнаружения
Функция : Когда есть несколько (включая одну) формы в паре тегов формы, используйте JS, чтобы точно судить, какие элементы сделаны на текущей кнопке.
Использование : Найдите контейнер текущей формы под тегом формы, чтобы дать Class = "form" и кнопку отправки текущей формы, чтобы дать
Элемент, который необходимо проверить как пустой, дается класс = "notnull" nullmsg = "xx не может быть нулевым!" приглашение, и форма, которая требует логического суждения, дана класс = "необходимость"
Тип данного суждения (может быть только цифры) Подтверждение проверки logicmsg = "xx может быть только числами"
Дайте Class = "errormessage" для отображения блока сообщений об ошибке
Дайте Class = "Warn", чтобы отобразить сообщение об ошибке
Не используя объектно-ориентированное программирование JS
Логическое суждение, не передайте идентификатор потребности, напрямую дайте атрибут регулярного выражения (пользовательский) regex = "/^/d $/", чтобы вынести решение
Реализовано внешне
Global.submitCallback кнопка Функция обратного вызова обратного вызова
Global.ConfirmCallback Подтвердите функцию обратного вызова;
Где улучшить:
Пока нет
Кода -копия выглядит следующим образом:
/// <Справочный путь = "Продавец/jQuery-1.4.1-vsdoc.js"/>
*/
// $ (document) .ready (
// function () {
// $ ("form"). Найти (". Notnull"). Bind ({
// фокус: function () {
// if ($ (this) .attr ("value") == this.defaultvalue) {
// $ (this) .attr ("value", "");
//}
//},
// blur: function () {
// if ($ (this) .attr ("value") == "") {
// $ (this) .attr ("value", this.defaultvalue);
//}
//}
//});
//}
//);
////* Метод инкапсулировать универсальную форму обнаружения*/
///event.srcelement: целевой объект, который поднимает событие, часто используемое в событиях OnClick.
///event.fromelement: источник объекта, который поднимает событие, часто используемое в событиях Onmouseout и Onmouseover.
///event.toElement: После того, как событие будет поднято, целевой источник, перемещенный мышью, который часто используется для событий Onmouseout и Onmouseover.
функция Global () {
var _self = это;
}
Global.submitcallback = null;
Global.confirmcallback = null;
$ (document) .ready (function () {
// формировать тело
$ ("body"). Найти (". form"). Каждый (function () {
this.onclick = function (e) {
var button = null;
пытаться {
кнопка = e.srcelement == null? Document.ActiveElement: E.srcelement;
} catch (e) {
Console.log (e.message)
кнопка = document.activeElement;
}
if ($ (кнопка) .is (". Check")) {
// alert ("отправить")
var sub = (проверка (this) && CheckInputRex (this) && CheckSelect (this) && CheckCecked (this));
if (sub) {
// Позвоните в наш обратный вызов, но используя наш собственный экземпляр в качестве контекста
Global.submitcallback.call (это, [e]);
}
вернуть саб;
} else if ($ (кнопка) .is (". Подтверждение")) {
// alert ("Удалить")
var sub = Подтверждение ($ (кнопка) .attr ("title"));
if (sub) {
Global.confirmcallback.call (это, [e]);
}
вернуть саб;
} еще {
// // alert ("Другой")
вернуть истину;
}
}
});
/*Обнаружение элементов, которые не могут быть пустыми в форме*/
Функция Checkform (form) {
var b = true;
$ (form) .find (". notnull"). Каждый (function () {
if ($ .trim ($ (this) .val ()). Длина <= 0) {// || $ (this) .val () == this.defaultValue
// if (this.value! = null) {
// $ (this) .attr ("value", "");
//}
//Alert($( Это).attr("msg ")))))
$ (this) .parents (". form"). Найти (". Warn"). Text ($ (this) .attr ("nullmsg"));
$ (this) .parents (". form"). Найти (".. Errormessage"). Show ();
$ (это). Select ();
$ (this) .focus ();
возврат b = false;
}
});
if (b == true) {
$ (form) .find (". Warn"). Text ("");
$ (form) .find (". errormessage"). Hide ();
}
возврат B;
}
/*Требуемый раскрывающийся список в форме обнаружения*/
Function CheckSelect (form) {
var b = true;
$ (form) .find (". Select"). Каждый (функция (i) {
var ck = $ (this) .find ('опция: выбран'). text ();
if (ck.indexof ("select")> -1) {
$ (this) .parents (". form"). Найти (". Warn"). Text ($ (this) .attr ("nullmsg"));
$ (this) .parents (". form"). Найти (".. Errormessage"). Show ();
$ (это). Select ();
$ (this) .focus ();
возврат b = false;
}
});
возврат B;
}
/*Требуемые флажки в форме обнаружения*/
Проверка функции (форма) {
var b = true;
$ (form) .find (". Facebole"). Каждый (function (i) {
var ck = $ (this) [0] .cecked;
if (! ck) {
$ (this) .parents (". form"). Найти (". Warn"). Text ($ (this) .attr ("nullmsg"));
$ (this) .parents (". form"). Найти (".. Errormessage"). Show ();
$ (это). Select ();
$ (this) .focus ();
возврат b = false;
}
});
возврат B;
}
// проверяют, соответствует ли регулярное выражение
функция getFlase (значение, reg, ele) {
if (reg.test (value)) {
вернуть истину;
}
$ (ele) .parents (". form"). Найти (". Warn"). Text ($ (ele) .attr ("logicmsg"));
$ (ele) .parents (". form"). Найти (". errormessage"). Show ();
$ (ele) .focus ();
$ (ele). Select ();
вернуть ложь; // не может отправить
}
Function CheckInputRex (form) {
var b = true;
$ (form) .find ("input [type = 'text']"). Каждый (function () {
if (typeof ($ (this) .attr ("regex")) == 'string') {
if ($ .trim ($ (this) .val ()). Длина> 0 && $ (this) .val ()! = this.defaultvalue) {
// Значение текущего формы
var value = $ (this) .attr ("value") || $ (this) .val ();
var regx = eval ($ (this) .attr ("regex"));
return b = getFlase (значение, regx, это);
}
}
});
возврат B;
}
/// Проверьте, являются ли соответствующие символы, введенные пользователем
/// Этот метод заброшен
Функция проверить (форма) {
var b = true;
$ (form) .find (". Need"). Каждый (function () {
if ($ .trim ($ (this) .val ()). Длина> 0 && $ (this) .val ()! = this.defaultvalue) {
// Значение текущего формы
var value = $ (this) .attr ("value");
// Значение идентификатора или атрибута значения имени следующее: [name = "contact"]
var name = $ (this) .attr ("class");
// Проверьте, является ли содержание, которое вам нужно ввести, является законным, например: контактная информация
var len = name.split ("" ");
for (var i = 0; i <len.length; i ++) {
Switch ($ .Trim (len [i])) {
///Контактная информация
Case "Mobile":
var reg =/^1/d {10} $/;
return b = getFlase (значение, reg, это);
перерыв;
///Почта
дело "электронная почта":
var reg = /^^*/W-§+(/.tless/w-§+)**@*/w-§+(/./W-§+)+$/;
return b = getFlase (значение, reg, это);
перерыв;
/// это пароль одинаковым для двух раз
случай "пароль":
перерыв;
случай "пароль2":
if ($ ("#пароль"). attr ("value")! = $ ("#password2"). attr ("value")) {
$ (это). Select (); // Получите фокус
$ (this) .parents (". form"). Найти (". Warn"). Text ($ (this) .attr ("logicmsg"));
$ (this) .parents (". form"). Найти (".. Errormessage"). Show ();
возврат b = false; // не может отправить
}
перерыв;
Случай "worktel":
Case "Hometel": // Домашний телефон
var reg =/^/d {8} $/;
return b = getFlase (значение, reg, это);
перерыв;
case "post": // почтовый индекс
var reg =/^/d {6} $/;
return b = getFlase (значение, reg, это);
перерыв;
Случай "бонус":
Дело "пособие":
случай "FixedSalary":
var reg = /^- ?(•1-9^/d*/./d*ulding
return b = getFlase (значение, reg, это);
перерыв;
случай "личность":
var reg =/(^/d {15} $) | (^/d {18} $) | (^/d {17} (/d | x | x) $)/;
return b = getFlase (значение, reg, это);
перерыв;
Случай "высота":
var reg = /^[1-2] [0-9] [0-9] $ /;
return b = getFlase (значение, reg, это);
перерыв;
случай "QQ":
var reg = /^[1-9] [0-9] {4,} $ /;
return b = getFlase (значение, reg, это);
перерыв;
Дело "Betintime":
случай "Endutime":
var reg =/^/d {4} $/;
if (reg.test (value) && (parseint ($ (".
возврат B;
}
$ .ligerdialog.alert ($ (this) .attr ("msg"))
$ (это). Select (); // Получите фокус
возврат b = false; // не может отправить
перерыв;
случай "num":
var reg =/^/d+$/;
return b = getFlase (значение, reg, это);
перерыв;
/// Материк должен подать заявку на перевал Гонконг и Макао и визу Гонконга, чтобы отправиться в Гонконг. Формат частных обычных паспортных номеров:
/// 14/15+7 цифр, G+8 цифр;
/// Обычная работа: P.+7 цифр;
/// Официальный бизнес: S.+7 цифр или
// s+8 цифр, дипломатический паспорт, начиная с D, является
Дело "почтовый порт": // номер паспорта
var reg =/^(p/d {7} | g/d {8} | s/d {7,8} | d/d+| 1 [4,5]/d {7}) $/;
return b = getFlase (значение, reg, это);
перерыв;
Дело "Bankaccount":
var reg = /^[0-9] {19} $ /;
return b = getFlase (значение, reg, это);
перерыв;
} //выключатель
} //для
}
});
возврат B;
}
/// Этот метод был заброшен
});
/// Нажмите, чтобы изменить цвет фона
$ (document) .ready (function () {
var inputs = $ ("#top> .c> input");
$ (inputs).
this.onclick = function () {
document.getElementbyId ("main"). style.backgroundcolor = this.name;
//$("#main").backgroundcolor = this.name;
}
});
});
Приведенный выше код представляет собой универсальную форму обнаружения после инкапсуляции. Надеюсь, тебе понравится