Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   проверка полей при отправке (https://javascript.ru/forum/misc/54433-proverka-polejj-pri-otpravke.html)

all4me1982 17.03.2015 13:11

проверка полей при отправке
 
На сайте есть форма регистрации в виде всплывающего модального окна.
Не могу добиться проверки полей, точнее поставил условие при не заполненности поля выскакивает алерт, но в то же время исчезает модальное окно, т.к. есть такая строчка
<input type="submit" id="submit1" name="cmdwebsignup" value="зарегистрироваться" class="btn" />


Чем можно заменить инпут чтобы проверка полей работала корректно?

сам код:

<form id="websignupfrm" method="post" name="websignupfrm" action="">
						<div class="inputBox" id="inputBox1">
							<label>Имя*</label>
							<input type="text" name="fullname" id="name" value="" />
						</div>
						<div class="inputBox">
							<label>Фамилия</label>
							<input type="text" name="surname" id="surname" value="" />
						</div>
						<div class="inputBox">
							<label>E-mail*</label>
							<input type="text" name="email" value="" id="mail" onkeyup="double_mail.value = this.value"/>
							<input style="" type="hidden" name="username" value="" id="double_mail"/>
						</div>
						<div class="inputBox">
							<label>Телефон</label>
							<input type="text" name="phone" id="phone" value="" />
						</div>
						<div class="inputBox">
							<label>Пароль*</label>
							<input type="password" name="password" value="" id="pwd1" onkeyup="pwd2.value = this.value" />
							<input style="" type="hidden" name="confirmpassword" id="pwd2" value="" />
						</div>
						<div class="captchaBox">
							<label>Введите код*</label>
							<input type="text" id="captcha" value="" />
							<div class="captchaPic">
								<a href="[+action+]"><img src="manager/includes/veriword.php" style="" alt="" /></a>
							</div>
						</div>
						<div class="btnBox">
<input type="submit" id="submit1" name="cmdwebsignup" value="зарегистрироваться" class="btn" />
						</div>
					</form>


<script type="text/javascript">	
$(function() {	
	$('#submit1').on('click', function() {
	var name   	 = $("#name").val();
	var email  	 = $("#email").val();
	var message  = $("#message").val();
	var email_send  = $("#email_send").html();
		if (name==0) {
			alert('no name');
		}
	});	
});
</script>

laimas 17.03.2015 13:27

На сайте есть форма регистрации в виде всплывающего модального окна.

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

ksa 17.03.2015 13:39

Цитата:

Сообщение от all4me1982
чтобы проверка полей работала корректно?

Вот букварь по проверке полей формы
http://www.wisdomweb.ru/JS/formval.php

all4me1982 17.03.2015 13:45

http://irinatur.com/
по поводу модального окна, справа вверху нажмите на Регистрацию
ну то что не обхожу циклом да эт косяк мой, недавно просто стал с js столкнулся

laimas 17.03.2015 13:46

по поводу модального окна, справа вверху нажмите на Регистрацию

Нажал. Где модальное окно (корректнее модальный диалог)?

danik.js 17.03.2015 14:00

Цитата:

Сообщение от all4me1982
Чем можно заменить инпут чтобы проверка полей работала корректно?

Причем тут инпут? Инпут делает свое дело - отправляет форму.
А твой скрипт-валидатор должен при неправильном заполнении отменять эту отправку.
Цитата:

Сообщение от all4me1982
<input type="password" name="password" value="" id="pwd1" onkeyup="pwd2.value = this.value" />
<input style="" type="hidden" name="confirmpassword" id="pwd2" value="" />

Это пиздец полный. За такое надо просто руки отрывать.
Что если я пароль или email вставлю из буфера через контекстное меню? Мне страница будет выдавать ебанутую ошибку что не заполнено какое-то невидимое поле? Головой думать надо, товарищи, а не жопой.
А еще, не у всех javascript включен. Ибо в инете полно дерьма, которое мне не очень то хочется запускать на своем компьютере. Поэтому стоит noscript, для не-говна есть белый список.
Сорри за маты, я честно, пытался держаться какое-то время...

danik.js 17.03.2015 14:02

Ага, и замени input[type=submit] на type=button - обломай своих юзеров в конец уже, чтоб без js форма даже не отправлялась :-/


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