как сделать проверку полей на js
есть скрипт для проверки полей на правильность заполнения формы и выдачи пользователю предупреждения если что не так. скрипт не работает, помогите.
// объявлю массивы fieldnames_array = new Array("authorf", "authorio", "authorcity", "authorcountry", "authorindex", "authorstreet", "authorinstitution", "authoremail"); fielddescription_array = new Array("authoraddress", "authorio", "authorcity", "authorcountry", "authorindex", "authorstreet", "authorinstitution", "authoremail"); // функция проверки поля - не пустое ли оно function textOK(e) { return (e.value != "") ? true : false; } // функция провеки всего масссива полей и выдачи сообщения пользователю function checkSomeFields(f){ var msg; for(j=0; j<=fieldnames_array.length; j++) { if(!textOK(f.fieldnames_array[j])){ msg = msg + "\n\r" + fielddescription_array[j]; } } alert (msg); return true; } и в самой форме прописываю <form action="/gbd/add_new_datasource.php" method="post" onSubmit="return checkSomeFields(this);"> |
Цитата:
function textOK(e) { return e.value != ""; } Ошибка, наверное, здесь: Цитата:
f[fieldnames_array[j]] Массивы лучше объявлять так: // объявлю массивы var fieldnames_array = ["authorf", "authorio", "authorcity", …, "authoremail"]; |
Цитата:
|
Цитата:
Цитата:
|
исправил, дополнил, упрочил - все равно не работает!
форма теперь имеет имя <form action="/gbd/add_new_datasource.php" method="post" name="frm" onSubmit="return checkSomeFields(this);"> // объявлю массивы var fieldnames_array = ["authorf", "authorio", "authorcity", "authorcountry", "authorindex", "authorstreet", "authorinstitution", "authoremail"]; var fielddescription_array = ["authoraddress", "authorio", "authorcity", "authorcountry", "authorindex", "authorstreet", "authorinstitution", "authoremail"]; // функция провеки всего масссива полей и выдачи сообщения пользователю function checkSomeFields(){ var msg; for(j=0; j<=fieldnames_array.length; j++) { if(document.frm.fieldnames_array[j].value !="")){ msg = msg + "\n\r" + fielddescription_array[j]; } } alert (msg); return true; } |
Цитата:
|
спасибо, исправил на document.frm[fieldnames_array[j]].value
но НЕ РАБОТАЕТ! увы! почитал в сети, посмотрел всякие примеры - вроде должно работать, ан нет! пока вернулся к доработке кода на php, доделаю - примусь за js, который я не знаю. |
Покажите страничку с формой, по одному коду трудно сказать, что там еще не работает.
|
http://www.kidneyepidemiology.org/gb...rkingform.html
спасибо если поможете! |
Цитата:
----------- // функция провеки всего масссива полей и выдачи сообщения пользователю function checkSomeFields() { var elements = document.forms["frm"].elements; var element; var msg = ""; for(j = 0; j <= fieldnames_array.length; j++) { element = elements[fieldnames_array[j]]; if (element && element.value) { msg += "\n\r" + fielddescription_array[j]; } } alert (msg); return true; } |
Часовой пояс GMT +3, время: 04:57. |