Непонятное завершение функции
Добрый день, есть код, из функции проверки заполнения полей:
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, время: 23:17. |