Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.09.2016, 10:49
Новичок на форуме
Отправить личное сообщение для opawina Посмотреть профиль Найти все сообщения от opawina
 
Регистрация: 02.09.2016
Сообщений: 2

Обработчик события срабатывает без события! Подскажите пожалуйста
Здравствуйте знатоки!
Подскажите пожалуйста. При запуске страницы должен отображаться только первый div id=div_log_in. Второй div id=div_registration_user должен отображается после нажатия на кнопку button id=new_user_button и скрывать первый div. В скрипте прописана функция которая скрывает все не нужные div и показывает тот который нам нужен. Так вот. Обработчик кнопки срабатывает без нажатия на эту кнопку, т.е. при запуске сразу скрывается первый div и показывается второй. На 52й строчке как раз срабатывает обработчик. А этого не надо делать.
Благодарю!

<body>

	<div id="div_log_in" class="bblock">
		<p>Enter your name
			<input type="text" name="" id="name_user2">
		</p>
		<p>Enter your password
			<input type="text" name="" id="password_user2">
		</p>
		<p>
			<input type="button" name="" value="Log in" id="login_button">
			<input type="button" name="" value="New user" id="new_user_button">
		</p>
	</div>

	<div id="div_registration_user" class="bblock">
		<p>Enter your name
			<input type="text" name="" id="name_user">
		</p>
		<p>Enter your password
			<input type="text" name="" id="password_user">
		</p>
		<p>Enter your email
			<input type="text" name="" id="email_user">
		</p>
		<p>Choose your role
			<select name="" id="role_user">
				<option value="customer">Покупатель</option>
				<option value="contractor">Поставшик</option>
			</select>
		</p>
		<p>
			<input type="button" name="" value="Registration" id="registration_user_button">
		</p>
	</div>

	<script>
		//ОТОБРАЖЕНИЕ БЛОКА div С КОТОРЫМ МЫ РАБОТАЕМ И СКРЫТИЕ ОСТАЛЬНЫХ
		function func_display_div(work_div) {
			var all_div = document.getElementsByClassName('bblock');
			for (var i = 0; i < all_div.length; i++) {
				all_div[i].style.display = 'none';
			}
			work_div.style.display = 'block';
		}

		//НАЧАЛО СЦЕНАРИЯ. ОТОБРАЖАЕТСЯ БЛОК DIV_LOG_IN
		func_display_div(div_log_in);

		// BUTTON NEW USER. СКРЫТИЕ БЛОКА DIV_LOG_IN И ОТОБРАЖЕНИЕ БЛОКА DIV_REGISTRATION_USER
		var new_user = document.getElementById('new_user_button');
*!*
		new_user.addEventListener("click", func_display_div(div_registration_user));
*/!*
	</script>
</body>
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2016, 11:03
Профессор
Отправить личное сообщение для Manyasha Посмотреть профиль Найти все сообщения от Manyasha
 
Регистрация: 21.09.2015
Сообщений: 196

opawina,
в addEventListener нужно подавать функцию, а не ее результат
new_user.addEventListener("click", function(){
				func_display_div(div_registration_user)
		});
Ответить с цитированием
  #3 (permalink)  
Старый 10.09.2016, 11:07
Новичок на форуме
Отправить личное сообщение для opawina Посмотреть профиль Найти все сообщения от opawina
 
Регистрация: 02.09.2016
Сообщений: 2

Сработало! Благодарю!
Ответить с цитированием
  #4 (permalink)  
Старый 11.09.2016, 06:49
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Не мучайте задницу. Тут нет никакого смысла передавать аргумент div_registration_user. Сделай его где-нибудь уже и тогда new_user.addEventListener("click", func_display_div);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает обработчик window.onload. Alex82 Events/DOM/Window 16 22.02.2013 19:06
Обработчик события нажатия на клавишу meryfelow Events/DOM/Window 4 04.05.2012 15:15
обработчик события amigo* Общие вопросы Javascript 6 11.08.2011 10:03
Подскажите пожалуйста с трансформацией изображения Deniskan Общие вопросы Javascript 23 18.03.2010 18:20
Обработчик события click BOGDAN Общие вопросы Javascript 6 02.03.2009 19:52