Показать сообщение отдельно
  #1 (permalink)  
Старый 06.04.2011, 14:09
Профессор
Отправить личное сообщение для Telnet Посмотреть профиль Найти все сообщения от Telnet
 
Регистрация: 21.02.2011
Сообщений: 160

Отрицание содержания выбранного элемента
В форме регистрации пытаюсь, прикрутить валидацию средствами Javascript. Для краткости сократил ее до 1 строки
<form action="" method="post" name="auth_form" id="auth_form">
 <fieldset><legend>Обязательные поля</legend>
 <table width="525" border="0" cellspacing="5" cellpadding="5">
  <tr>
    <td align="right"><label for="surname">Фамилия*</label></td>
    <td id="td_surname"><input name="surname" type="text" id="surname" size="30" maxlength="20"  value="{$_POST['surname']}"/></td>
  </tr>
</table>
</fieldset>	
 </form>

По валидации вопросов не возникает.
С выводом сообщений по резульатам проверки чуть сложнее,
Не получается сделать так, что сообщение выводилось только один раз, сейчас при каждом событии blur добавляется новая запись об ошибке.
$('#surname').blur(function(){
		var surname = $('#surname').val();
		var msg = surname.search(/[A-Za-zА-Яа-я\d]{3,25}/);
		if(msg==-1){
			$('#td_surname').prepend('<span class="error">В поле фамилия содержиться ошибка</span><br />');
			}
	});

После того как ввести в поле 1 символ, и не сколько раз происходит событие blur имеем следующие
<tr>
<td align="right">
<label for="surname">Фамилия*</label>
</td>
<td id="td_surname">
<br>
<input id="surname" type="text" value="" maxlength="20" size="30" name="surname">
<br>
<span class="error">В поле фамилия содержиться ошибка</span>
<br>
<span class="error">В поле фамилия содержиться ошибка</span>
<span class="error">В поле фамилия содержиться ошибка</span>
</t

Нужно чтоб после добавление 1 сообшения об ошибке новые не добавлялись.
Ответить с цитированием