Непонятное завершение функции
Добрый день, есть код, из функции проверки заполнения полей:
function check_vendor_new_user(){
var checkboxes = $('.svuf_checkbox');
var checkbox_checked = 0;
for (var i in checkboxes) {
if (checkboxes[i].checked) checkbox_checked = 1;
}
var lvalue = document.send_vendor_user_form.logname.value;
log_checked = check_vendor_user_login(lvalue);
...
почему-то функция завершается, возвращая труе на строчке: var lvalue = document.send_vendor_user_form.logname.value; Подскажите пожалуйста, где искать зарытую собаку? :) |
culver, у меня плохая новость, строчка
var lvalue = document.send_vendor_user_form.logname.value; не возвращает значения функции, а создает переменную и устанавливает ей значение |
Вот именно, я не понимаю почему при пошаговом выполнении функция завершается при переходе на эту строку? Этого не должно быть.
В чём могут быть ещё проблемы? |
Заменил эту строку на:
var lvalue = $('#login').val();
и глюк пропал. JQuery это, конечно, прекрасно, но знать чистый JS тоже хочется. Подскажите пожалуйста что это было? |
Вот функция, теперь такой глюк выскакивает на последнем ифе.
function check_vendor_new_user(){
var checkboxes = $('.svuf_checkbox');
var checkbox_checked = 0;
for (var i in checkboxes) {
if (checkboxes[i].checked) checkbox_checked = 1;
}
var lvalue = $('#login').val();
log_checked = check_vendor_user_login(lvalue);
if (!log_checked) {
alert('Please, choose another login.');
return false;
}
if( document.send_vendor_user_form.company.value &&
document.send_vendor_user_form.home_page.value &&
(document.send_vendor_user_form.radioSet[0].checked || document.send_vendor_user_form.radioSet[1].checked || document.send_vendor_user_form.radioSet[2].checked) &&
document.send_vendor_user_form.position.value &&
document.send_vendor_user_form.name.value &&
document.send_vendor_user_form.second_name.value &&
document.send_vendor_user_form.email.value &&
document.send_vendor_user_form.phone1.value &&
document.send_vendor_user_form.phone2.value &&
document.send_vendor_user_form.country.value &&
document.send_vendor_user_form.state.value &&
document.send_vendor_user_form.city.value &&
document.send_vendor_user_form.zip.value &&
document.send_vendor_user_form.adres.value &&
document.send_vendor_user_form.pas.value &&
checkbox_checked){
return true;
} else {
alert('Please fill all * fields correctly.');
return false;
}
}
|
Может ли проблема быть в коде страницы или в других скриптах, которые используются на этой странице? Где нужно искать перехват? Как функция может завершаться при сравнении значений элементов?
|
Ну в первом случае return не стояло, а во втором случае (в последнем ифе) завершается при наличии пустых полей. Поэтому мне и кажется, что завершается при обращении к элементу, что есть бредом, но другого объяснения я не вижу.
|
выполняю функцию пошагово с помощью Firebug в firefox, а так как форма отправляется на сервер, то функция возвращает true.
<form style="padding:0px;margin:0px;" method="post" name="send_vendor_user_form" onsubmit="return check_vendor_new_user();" action="./vendor_edit_user.php"> |
Если вставляю alert в последнем ифе перед return true, то до его выполнения функция не доходит.
|
до проверки ифа. Сейчас в Опере проверяю - та же картина.
|
| Часовой пояс GMT +3, время: 11:48. |