@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, а если одну из них убрать, то другая работает?
  • Вопрос задан
  • 430 просмотров
Пригласить эксперта
Ответы на вопрос 2
pomeo
@pomeo
у вас здесь r_pass = "" || email = "" присваивание, а не сравнение
Ответ написан
@dmitryKovalskiy
программист средней руки
1)Возможно функции определяются позже чем вызываются.
2)Проверьте скобки.Криво стоящие скобки создают одну функцию только при вызове друго
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы