Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.03.2011, 19:08
Аватар для Bandicoot
Кандидат Javascript-наук
Отправить личное сообщение для Bandicoot Посмотреть профиль Найти все сообщения от Bandicoot
 
Регистрация: 09.02.2011
Сообщений: 145

Помогите исправить баг с формой ввода
Это код формы ввода:
<form action="#" method="post" id="indexform">
		<table border="0">
			<tr>
				<td colspan="2">Введите Ваше имя:</td>
				<td>
					<input type="text" size="15" maxlength="20" name="username" id="username"/>
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptyname" id="emptyname" />
				</td>
			</tr>
			<tr>
				<td colspan="2">Введите пароль:</td>
				<td>
					<input type="password" size="15" maxlength="16" name="password" id="password" />
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptypass" id="emptypass"/>
				</td>
			</tr>
			<tr>
				<td>Введите код:&nbsp;</td>
				<td>
					<img src="captcha.php" alt="защитный код" id="imgCaptcha" />&nbsp;
					<input type="image" src="img/refresh.jpg" onclick="return refreshCaptcha();" />&nbsp;
				</td>
				<td>
					<input type="text" size="15" maxlength="10" name="securecode" id="secretcode" />
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptycode" id="emptycode"/>
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="button" value="Регистрация" class='button' onclick="<?php echo $reglink;?>" />
				</td>
				<td>
					<input type="submit" value="Вход" class='button' id="authsubmit" />
				</td>
			</tr>
		</table>
	</form>

А это код JS (используется jquery)
$(document).ready(function(){
$("#indexform").submit(
	function(){
		if($("#username").val() == "") {
			$("#emptyname").val("Введите логин");
		}
		if($("#password").val() == "") {
			$("#emptypass").val("Введите пароль");
		}
		if($("#secretcode").val() == "") {
			$("#emptycode").val("Введите символы с картинки");
		}
	});
})

При попытке отправки формы и наличии при этом пустых полей, должны появляться сообщения об ошибке. Но они появляются только буквально на секунду в момент отправки формы. Как сделать так чтобы сообщения об ошибке не исчезали?
Ответить с цитированием
  #2 (permalink)  
Старый 10.03.2011, 19:20
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Можно так:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#indexform").submit(
	function(){
		if($("#username").val() == "") {
			$("#emptyname").val("Введите логин");
			return false;
		}
		if($("#password").val() == "") {
			$("#emptypass").val("Введите пароль");
			return false;
		}
		if($("#secretcode").val() == "") {
			$("#emptycode").val("Введите символы с картинки");
			return false;
		}
	});
})
</script>

<form action="#" method="post" id="indexform">
		<table border="0">
			<tr>
				<td colspan="2">Введите Ваше имя:</td>
				<td>
					<input type="text" size="15" maxlength="20" name="username" id="username"/>
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptyname" id="emptyname" />
				</td>
			</tr>
			<tr>
				<td colspan="2">Введите пароль:</td>
				<td>
					<input type="password" size="15" maxlength="16" name="password" id="password" />
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptypass" id="emptypass"/>
				</td>
			</tr>
			<tr>
				<td>Введите код:&nbsp;</td>
				<td>
					<img src="captcha.php" alt="защитный код" id="imgCaptcha" />&nbsp;
					<input type="image" src="img/refresh.jpg" onclick="return refreshCaptcha();" />&nbsp;
				</td>
				<td>
					<input type="text" size="15" maxlength="10" name="securecode" id="secretcode" />
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptycode" id="emptycode"/>
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="button" value="Регистрация" class='button' onclick="<?php echo $reglink;?>" />
				</td>
				<td>
					<input type="submit" value="Вход" class='button' id="authsubmit" />
				</td>
			</tr>
		</table>
	</form>
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2011, 19:24
Аватар для Bandicoot
Кандидат Javascript-наук
Отправить личное сообщение для Bandicoot Посмотреть профиль Найти все сообщения от Bandicoot
 
Регистрация: 09.02.2011
Сообщений: 145

Только что здесь же проверил - работает только для первого поля (логина)
Ответить с цитированием
  #4 (permalink)  
Старый 10.03.2011, 19:40
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Точно, тогда так можно:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
    $("#indexform").submit(

    function () {
        var fields = {
            "#username": ["#emptyname", "Введите логин"],
            "#password": ["#emptypass", "Введите пароль"],
            "#secretcode": ["#emptycode", "Введите символы с картинки"]
        },
            error = false;
        for (i in fields) {
            if ($(i).val() == "") {
                $(fields[i][0]).val(fields[i][1]);
                error = true;
            } else {
                $(fields[i][0]).val('');
            }
        }
        if (error) return false;
    });
})
</script>

<form action="#" method="post" id="indexform">
		<table border="0">
			<tr>
				<td colspan="2">Введите Ваше имя:</td>
				<td>
					<input type="text" size="15" maxlength="20" name="username" id="username"/>
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptyname" id="emptyname" />
				</td>
			</tr>
			<tr>
				<td colspan="2">Введите пароль:</td>
				<td>
					<input type="password" size="15" maxlength="16" name="password" id="password" />
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptypass" id="emptypass"/>
				</td>
			</tr>
			<tr>
				<td>Введите код:&nbsp;</td>
				<td>
					<img src="captcha.php" alt="защитный код" id="imgCaptcha" />&nbsp;
					<input type="image" src="img/refresh.jpg" onclick="return refreshCaptcha();" />&nbsp;
				</td>
				<td>
					<input type="text" size="15" maxlength="10" name="securecode" id="secretcode" />
				</td>
				<td>
					<input type="text" class="text" disabled="disabled" name="emptycode" id="emptycode"/>
				</td>
			</tr>
			<tr>
				<td colspan="2">
					<input type="button" value="Регистрация" class='button' onclick="<?php echo $reglink;?>" />
				</td>
				<td>
					<input type="submit" value="Вход" class='button' id="authsubmit" />
				</td>
			</tr>
		</table>
	</form>
Ответить с цитированием
  #5 (permalink)  
Старый 10.03.2011, 19:41
Аватар для Bandicoot
Кандидат Javascript-наук
Отправить личное сообщение для Bandicoot Посмотреть профиль Найти все сообщения от Bandicoot
 
Регистрация: 09.02.2011
Сообщений: 145

Спасибо, сейчас попробую вставить код в свой скрипт
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с формой отзыва, нужно убрать каптчу. realstranger Элементы интерфейса 2 24.09.2012 12:28
Как исправить баг с выпадающим js-меню? Cammerariy Javascript под браузер 5 02.12.2010 19:25
Как исправить баг?) Spamol jQuery 2 24.11.2010 23:10
Форма отправки сообщения в скрипте отдельного окна I-love_Chicago Элементы интерфейса 10 30.08.2009 23:16
Помогите исправить расположение окон abramovichanya Работа 2 10.07.2009 02:00