Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.03.2008, 20:26
Гость
 
Сообщений: n/a

Прошу помочь с проверкой формы ввода
Привет всем.
Прошу помочь с проверкой формы ввода данных.

Есть function c повторяющимися условиями,


function checkform(form)
if (form.username.value == "")

{
alert("<?=USERNAME_ERROR?>");
return false;
}

if (form.pass.value == "") {
alert("<?=PASSWORD_ERROR_1?>");
return false;
}
if (form.rpass.value == "") {
alert("<?=PASSWORD_ERROR_2?>");
return false;
}

и т.д.Проблема заключается в том что полей ввода много и на каждое поле написано отдельное условие,это занимает много места.Переписал вот так -

function checkform(f) {
var errMSG = "";
for (var i = 0; i<f.elements.length; i++)
if (null!=f.elements[i].getAttribute("required"))
if (isEmpty(f.elements[i].value)) // пустой
errMSG += " " + f.elements[i].name + "\n";

if ("" != errMSG) {
alert("Не заполнены обязательные поля:\n" + errMSG);
return false;
}
}
function isEmpty(str) {
for (var i = 0; i < str.length; i++)
if (" " != str.charAt(i))
return false;

return true;
}



в данном случае выводится errMSG со значением name оператора input.
Как заменить значение , f.elements[i].name при выводе alert нужным значением с array <?$error_form[i]?> ?


Заранее благодарю за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 07.03.2008, 23:59
Профессор
Отправить личное сообщение для Dmitry A. Soshnikov Посмотреть профиль Найти все сообщения от Dmitry A. Soshnikov
 
Регистрация: 25.02.2008
Сообщений: 707

создать сначала объект этих сообщения на клиентской стороне. Ключами этого объекта будут имена элементов, значениями ключей - элементы из php-массива.

И дальше в функции проверки использовать ссылку на этот объект по ключу (имени).
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2008, 12:10
Гость
 
Сообщений: n/a

Сообщение от ds [.code] Посмотреть сообщение
создать сначала объект этих сообщения на клиентской стороне. Ключами этого объекта будут имена элементов, значениями ключей - элементы из php-массива.

И дальше в функции проверки использовать ссылку на этот объект по ключу (имени).
Дошло.Сделал.Ступил конечно...
Две страницы кода,превратились в 20 строк.Потихоньку схожу с ума от изначального кода -но это уже для темы "как НЕНАДО писать код"...

ds[.code] -thanks за помощь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск