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

Тема в разделе "Другие языки", создана пользователем new_forward, 27 янв 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    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 если имя не доступно форма не отправлялась?
     
  2. Ins1ne

    Ins1ne Постоялец

    Регистр.:
    26 авг 2009
    Сообщения:
    89
    Симпатии:
    25
    сделать так, чтобы поле очищалось, если имя не доступно, а в пхп сделать проверку на обязательность заполнения поля.
     
  3. lucky_priest

    lucky_priest Создатель

    Регистр.:
    16 ноя 2009
    Сообщения:
    20
    Симпатии:
    7
    Что-то типа такого:
    ...
    $("#msgbox").removeClass().addClass('messagebox').text('Проверка...').fadeIn("slow");
    if ($("#d_username").val() == "") return;
    $.post("user_availability.php",{ user_name:$(this).val() } ,function(data)
    ...
     
  4. ADyDyka

    ADyDyka Создатель

    Регистр.:
    19 янв 2010
    Сообщения:
    26
    Симпатии:
    5
    Заключи свою проверку в функцию, которая бы возвращала false или true, там где ты определяешь занято имя или нет.
    И теперь можешь эту функцию вызывать как при загрузке страницы, как у тебя реализовано сейчас, так и при сабмите формы типа.

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