Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2013, 19:20
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

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

Подскажите пожалуйста, где искать зарытую собаку?
Ответить с цитированием
  #2 (permalink)  
Старый 09.12.2013, 19:31
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

culver, у меня плохая новость, строчка
var lvalue = document.send_vendor_user_form.logname.value;

не возвращает значения функции, а создает переменную и устанавливает ей значение
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #3 (permalink)  
Старый 09.12.2013, 21:55
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

Вот именно, я не понимаю почему при пошаговом выполнении функция завершается при переходе на эту строку? Этого не должно быть.
В чём могут быть ещё проблемы?
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2013, 22:19
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

Заменил эту строку на:
var lvalue = $('#login').val();

и глюк пропал.
JQuery это, конечно, прекрасно, но знать чистый JS тоже хочется.
Подскажите пожалуйста что это было?
Ответить с цитированием
  #5 (permalink)  
Старый 09.12.2013, 23:02
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

Вот функция, теперь такой глюк выскакивает на последнем ифе.
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;
	}
}
Ответить с цитированием
  #6 (permalink)  
Старый 09.12.2013, 23:18
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

Может ли проблема быть в коде страницы или в других скриптах, которые используются на этой странице? Где нужно искать перехват? Как функция может завершаться при сравнении значений элементов?
Ответить с цитированием
  #7 (permalink)  
Старый 09.12.2013, 23:37
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от culver Посмотреть сообщение
теперь такой глюк выскакивает на последнем ифе.
Какой глюк то? Вы о чем? Для этого return и существует, чтобы функция завершалась и возвращала что-то или ничего...
Ответить с цитированием
  #8 (permalink)  
Старый 09.12.2013, 23:41
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

Ну в первом случае return не стояло, а во втором случае (в последнем ифе) завершается при наличии пустых полей. Поэтому мне и кажется, что завершается при обращении к элементу, что есть бредом, но другого объяснения я не вижу.

Последний раз редактировалось culver, 09.12.2013 в 23:44.
Ответить с цитированием
  #9 (permalink)  
Старый 09.12.2013, 23:57
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

выполняю функцию пошагово с помощью 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">
Ответить с цитированием
  #10 (permalink)  
Старый 10.12.2013, 00:01
Аспирант
Отправить личное сообщение для culver Посмотреть профиль Найти все сообщения от culver
 
Регистрация: 10.05.2012
Сообщений: 52

Если вставляю alert в последнем ифе перед return true, то до его выполнения функция не доходит.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
пользовательские cобытия и функции jquery hurt3 jQuery 2 08.07.2013 09:13
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
Как в браузерах реализуются функции DOM (например createElement) iamme Общие вопросы Javascript 7 02.09.2011 20:26
динамическое содержимое функции alfmaster Общие вопросы Javascript 2 28.05.2011 17:10
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21