Задать вопрос
@artem20152000

Почему две функции не работают вместе js?

Привет! У меня есть две функции:

<script type="text/javascript">
			function user_reg(){
				var login = $("#login").val();
				var password = $("#pass").val();
				var r_pass = $("#r_pass").val();
				var email = $("#email").val();
				$("#reg_error").addClass("mb");

				if(login == "" || password == "" || r_pass = "" || email = ""){
					$("#reg_error").html("Пожалуйста заполните все поля");
				}else{
					$("#reg_error").html("");

					if(password.length < 6){
						$("#reg_error").html("Пароль должен состоять минимум из 6 символов");
					}else{
						if(login.length < 6){
							$("#reg_error").html("Логин должен состоять миниму из 6 символов");
						}else{
							$.post("http://www.websmash.net/scripts/reg.php", {pass: password, login: login, email: email}, onAjaxSuccess);

							function onAjaxSuccess(data){
								if (data[0] == false){
									$("#reg_error").html("Такой логин уже зарегистрирован");
								}else{
									if(data[1] == false){
										$("#reg_error").html("Такой email уже зарегистрирован");
									}else{
										if(data[2] == false){
											$("#reg_error").html("Возникла ошибка при регистрации. Повторите попытку позже!");
										}else{
											setTimeout('window.location.reload()', 100);
										}
									}
								}
							}
						}
					}
				}
			} 

			function user_login(){
				var login = $("#login").val();
				var password = $("#password").val();
				var login_error = $("#login_error").val();
				$("#login_error").addClass("mb");

				if(login == "" || password == ""){
					$("#login_error").html("Пожалуйста заполните все поля");
				}else{
					$("#login_error").html("");

					$.post("http://www.websmash.net/scripts/enter.php", {pass: password, login: login}, onAjaxSuccess);

					function onAjaxSuccess(data){
						if (data){
							setTimeout('window.location.reload()', 100);
						}else{
							$("#login_error").html("Не правильный логин или пароль");
						}
					}
				}
			}
		</script>


Обе они вызываются в разных формах через onsubmit.

<form method="POST" id="login_form" action="javascript:void(null);" onsubmit="user_login()">

<form method="POST" id="reg_form" action="javascript:void(null);" onsubmit="user_reg()">


Вопрос: почему если они обе прописаны в теге script, то выводит ошибку function is not defined, а если одну из них убрать, то другая работает?
  • Вопрос задан
  • 437 просмотров
Подписаться 1 Оценить 15 комментариев
Пригласить эксперта
Ответы на вопрос 2
pomeo
@pomeo
у вас здесь r_pass = "" || email = "" присваивание, а не сравнение
Ответ написан
@dmitryKovalskiy
программист средней руки
1)Возможно функции определяются позже чем вызываются.
2)Проверьте скобки.Криво стоящие скобки создают одну функцию только при вызове друго
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 дек. 2024, в 16:56
180000 руб./за проект
21 дек. 2024, в 16:14
40000 руб./за проект
21 дек. 2024, в 16:02
1550 руб./за проект