Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Исправить FORMS JS (https://javascript.ru/forum/dom-window/72691-ispravit-forms-js.html)

3eJleHuY 19.02.2018 15:19

Исправить FORMS JS
 
Вложений: 1
Здравствуйте! помогите с Формой входа и регистрации на сайте, в форме входа пишет все время введите данные, а в форме регистрации заполните все данные

список JS
Вложение 3784

коды форм

<div class="hidden">
		<form id="login_form" method="post" action="">
	    	<p id="login_error" class="hidden">&nbsp;</p>
			<div style="margin: 30px auto 0 auto; width: 392px; text-align: center;">
				<table style="color: #ffffff; text-align: left;" width="392" border="0" cellpadding="0" cellspacing="0">
				<tr>
				<td width="90" align="right"><label for="login">Логин&nbsp;&nbsp;&nbsp;</label></td>
				<td><input type="text" id="login" name="login" size="30" /></td>
				</tr>
				
				<tr>
				<td>&nbsp;</td>
				<td>&nbsp;</td>
				</tr>
				
				<tr>
				<td align="right"><label for="password">Пароль&nbsp;&nbsp;&nbsp;</label></td>
				<td><input type="password" id="password" name="password" size="30" /></td>
				</tr>
				
				<tr>
				<td colspan="2" align="center">
				<input type="hidden" id="send" name="send" value="1" />
				<input type="submit" class="cz_login_btn" value="Войти"/></td>
				</tr>
				
				<tr>
				<td colspan="2" align="center">
					<div class="cz_restore_pass_btn">
						<a href="/{language}/forgot_password">Восстановить пароль</a>
					</div>
					<div class="cz_reg_btn">
						<a href="#" onclick="javascript:showRegistrationForm(); return false;">Регистрация</a>
					</div>
				</td>		
				</tr>
				</table>
			</div>
		</form>
	</div>

	<div class="hidden">
		<form id="reg_form" method="post" action="">
	    	<p id="reg_error" class="hidden">&nbsp;</p>
			
			<table style="color: #ffffff; text-align: left; font-size: 12px;" width="500" border="0" cellpadding="0" cellspacing="0">
				<tr>
					<td width="120">&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
				<tr>
					<td valign="top"><label for="uid">Логин: </label></td>
					<td><input name="login" type="text" id="uid" style="width:180px;" value="<?  echo htmltext($регистрация_логин); ?>" maxlength="12"><br>
				Логин может состоять из цифр и букв английского алфавита.<br> От трёх до двадцати символов. Пример: JohnDoe54</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td valign="top"><label for="pass1">Пароль: </label></td>
					<td><input name="password" type="password" id="pass1" style="width:180px;" value="<?  echo htmltext($регистрация_пароль); ?>"><br>
				Пароль может состоять из цифр и букв английского алфавита. <br> От трёх до двадцати символов.</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td valign="top"><label for="pass2">Повторите пароль: </label></td>
					<td><input name="password2" type="password" id="pass2" style="width:180px;" value="<?  echo htmltext($регистрация_пароль2); ?>"></td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td valign="top"><label for="email">Ваш email адрес: </label></td>
					<td><input name="email" type="text" maxLength='30' id="email" style="width:180px;" value="<?  echo htmltext($регистрация_email); ?>"><br>
				Пример: yourname@email.com</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td valign="top"><label for="captcha_code">Код: </label></td>
					<td><img id="captcha" src="/engine/securimage/securimage_show_example.php " alt="CAPTCHA Image" />
				<br>
				<a href="#" onclick="document.getElementById('captcha').src = '/engine/securimage/securimage_show_example.php?' + Math.random(); return false">Обновить изображение</a><br>
				</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>Введите Код:<br></td>
					<td><input type="text" name="captcha_code" id="captcha_code" size="10" maxlength="8" value="<?=htmltext($капча)?>" /></td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>
						<input type="checkbox" name="confirm" id="confirm" value="on" />
						<label for="confirm" class="confirm">Я принимаю <a href="/{language}/terms">правила и условия казино Lavanda</a></label>
					</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>
							<input type="submit" class="cz_reg_btn2" value="Зарегистрироватся" id="reg_your_details_submit" />
						
					</td>
				</tr>				
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
			</table>
		</form>
	</div>


и JS форм
$(function() {
	$("#login_form").submit(function() {
		if ($("#login").val().length < 1 || $("#password").val().length < 1) {
			$("#login_error").text("Введите данные").show();
			return false;
		}

		$.fancybox.showLoading();

		$.ajax({
			type	 : "POST",
			cache	 : false,
			url		 : loginUrl,
			data	 : $(this).serializeArray(),
			dataType : "json",
			success: function(data) {
				if (data.status == "0") {
					$.fancybox.close();
					location.href = data.url;
				} else if (data.status == "1") {
					$.fancybox.hideLoading();
					var message = data.message;
					console.log(message);
					$("#login_error").text(message).show();
				} else {
					$.fancybox.hideLoading();
				}

			//*	if (data < 0) {
					// Error
					$.fancybox.hideLoading();
					$("#login_error").text("Invalid data").show();
				} else {
					// OK
					$.fancybox.close();
					$("#login_validated").show();
				}
			
			}
		});

		return false;
	});
});

function showLoginForm() {
	$("#login_error").hide();
	
	$.fancybox($('#login_form'), {
		'closeBtn': true
	});
}

$(function() {
	$("#reg_form").submit(function() {
		if ($("#uid").val().length < 1 || $("#pass1").val().length < 1 || $("#pass2").val().length < 1 || 
			$("#email").val().length < 1 || $("#captcha_code").val().length < 1) {
				$("#reg_error").text("Заполните все поля").show();
				return false;
		}

		$.fancybox.showLoading();

		$.ajax({
			type	 : "POST",
			cache	 : false,
			url		 : registrationUrl,
			data	 : $(this).serializeArray(),
			dataType : "json",
			success: function(data) {
				if (data.status == "0") {
					$.fancybox.close();
					location.href = data.url;
				} else if (data.status == "1") {
					$.fancybox.hideLoading();
					$("#captcha").attr("src", "/engine/securimage/securimage_show_example.php?" + Math.random());
					var message = data.message;
					$("#reg_error").html(message).show();
				} else {
					$.fancybox.hideLoading();
				}
			}
		});

		return false;
	});
});

function showRegistrationForm() {
	$("#reg_error").hide();
	
	$.fancybox($('#reg_form'), {
		'closeBtn': true
	});
}



Помогите ребята!!!

laimas 19.02.2018 15:38

value="<? echo htmltext($регистрация_пароль); ?>" ?!

3eJleHuY 19.02.2018 15:56

Цитата:

Сообщение от laimas (Сообщение 478541)
value="<? echo htmltext($регистрация_пароль); ?>" ?!

поудалять просто?

laimas 19.02.2018 15:59

Цитата:

Сообщение от 3eJleHuY
поудалять просто?

Я не знаю чего у вас происходит, ибо не понятно с чего вдруг две формы и на каждую свой обработчик отправления. Две формы на одной странице?

А это - value="<? echo htmltext($регистрация_пароль); ?>" просто удивляет. Это как понимать - сервер любезно вставляет данные аутентификации в форму, чтобы клиенту не гадать?

3eJleHuY 19.02.2018 16:14

laimas,
http://rgho.st/79YXKdbRz


посмотрите этот файл

laimas 19.02.2018 16:31

Зачем мне он нужен.

Форма регистрации не должна содержать в значениях полей никаких данных, которые в нее вставляет сервер, а уже тем более таких как логин, пароль.... Что это такое в форме регистрации:

<? echo htmltext($регистрация_логин); ?>
<? echo htmltext($регистрация_пароль); ?>

и т.д., подсказки по значениям для полей? Если да, то подсказки определяются не атрибутом value, а placeholder. Если файл по ссылке, это программная реализация placeholder, тогда вопросов нет, но я не буду этого изучать.

Клиент может проверить ввод в форму регистрации согласно условиям по ее полям. Может также проверить на ошибку ввод пароля, сравнив значения полей пароля и поля повторного ввода пароля. Сервер же проверяя все это у себя, кроме это должен проверить занятость логина и адреса электронной почты, а результат проверки вернуть клиенту, если занято.

В форме входа клиент может проверить только наличие ввода, а проверка реальная только сервером.


Часовой пояс GMT +3, время: 23:36.