Обработка формы Javascript с автоматической проверкой через php?

Статус
В этой теме нельзя размещать новые ответы.

new_forward

Профессор
Регистрация
5 Май 2008
Сообщения
673
Реакции
44
Доброго времени суток!

Есть форма вот такая: Для просмотра ссылки Войди или Зарегистрируйся
Скачать можно здесь: Для просмотра ссылки Войди или Зарегистрируйся

Делаю форму :

Код:
<form action='' style='display:none' method="post" >
		
		   	<label for='contact-name'>*Логин:</label>
			<input name="d_username" type="text" id="d_username" class='contact-input' maxlength="15" />
			<span id="msgbox" style="display:none"></span>
			<script type='text/javascript'>
$(document).ready(function()
{
	$("#d_username").blur(function()
	{
		$("#msgbox").removeClass().addClass('messagebox').text('Проверка...').fadeIn("slow");
		$.post("user_availability.php",{ user_name:$(this).val() } ,function(data)
        {
		  if(data=='no') 
		  {
		  	$("#msgbox").fadeTo(200,0.1,function() 
			{ 
			  $(this).html('Занят!').addClass('messageboxerror').fadeTo(900,1);
			});		
          }
		  else
		  {
		  	$("#msgbox").fadeTo(200,0.1,function()  
			{ 
			  $(this).html('Доступен!').addClass('messageboxok').fadeTo(900,1);	
			});
		  }
				
        });
 
	});
});
</script>
<input class="button" type="submit" value="Зарегистрироваться" name="submit"/>
</form>

Все работает только как сделать чтоб при нажатии на submit если имя не доступно форма не отправлялась?
 
сделать так, чтобы поле очищалось, если имя не доступно, а в пхп сделать проверку на обязательность заполнения поля.
 
Что-то типа такого:
...
$("#msgbox").removeClass().addClass('messagebox').text('Проверка...').fadeIn("slow");
if ($("#d_username").val() == "") return;
$.post("user_availability.php",{ user_name:$(this).val() } ,function(data)
...
 
Доброго времени суток!
Есть форма вот такая: Для просмотра ссылки Войди или Зарегистрируйся
Скачать можно здесь: Для просмотра ссылки Войди или Зарегистрируйся
Делаю форму :
Код:
<form action='' style='display:none' method="post" >
		   	<label for='contact-name'>*Логин:</label>
			<input name="d_username" type="text" id="d_username" class='contact-input' maxlength="15" />
			<span id="msgbox" style="display:none"></span>
			<script type='text/javascript'>
$(document).ready(function()
{
	$("#d_username").blur(function()
	{
		$("#msgbox").removeClass().addClass('messagebox').text('Проверка...').fadeIn("slow");
		$.post("user_availability.php",{ user_name:$(this).val() } ,function(data)
        {
		  if(data=='no') 
		  {
		  	$("#msgbox").fadeTo(200,0.1,function() 
			{ 
			  $(this).html('Занят!').addClass('messageboxerror').fadeTo(900,1);
			});		
          }
		  else
		  {
		  	$("#msgbox").fadeTo(200,0.1,function()  
			{ 
			  $(this).html('Доступен!').addClass('messageboxok').fadeTo(900,1);	
			});
		  }
        });
	});
});
</script>
<input class="button" type="submit" value="Зарегистрироваться" name="submit"/>
</form>
Все работает только как сделать чтоб при нажатии на submit если имя не доступно форма не отправлялась?
Заключи свою проверку в функцию, которая бы возвращала false или true, там где ты определяешь занято имя или нет.
И теперь можешь эту функцию вызывать как при загрузке страницы, как у тебя реализовано сейчас, так и при сабмите формы типа.

<form action='' style='display:none' method="post" onsubmit="return ИмяТвоейФункции();" >
и соответственно если твоя функция вернет false, то сабмит не произойдет, а иначе все ок.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху