Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.11.2010, 13:12
Новичок на форуме
Отправить личное сообщение для Android47 Посмотреть профиль Найти все сообщения от Android47
 
Регистрация: 18.11.2010
Сообщений: 2

Не могу понять почему не работает :(
Уважаемые, помогите найти ошибку или исправить если что не так. Ломаю голову второй день.
Я велосипед не изобретаю, хочу получить обычный валидатор логина:


$(document).ready(function()
      {
$("#login").blur(function() {
$("#msgbox").removeClass().addClass('messagebox').text('Проверка...').fadeIn("slow");
$.post("php/user_availability.php",{ user_name:$(this).val() }, function(data) {
alert(data);
if(data=='case1') 
{
$("#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); 
});
}
});
});
});



Имеется так же user_availability.php :

<?php    
$user_name=$_POST['user_name'];
include ("bd.php");	
$result = mysql_query("SELECT id FROM users WHERE login='$user_name'",$db);
$myrow = mysql_fetch_array($result);
if (empty($myrow['id'])) {
echo 'case1'; } 
if (!empty($myrow['id'])) {
echo 'case2'; }
?>


jquery подключен все как надо. Дело в том, что тот извесный пример (про рошана) прекрасно работал, но когда подключил БД, скрипт стал вести себя странно:
user_availability.php прекрасно возвращает case1 или case2, после чего алертом прекрасно выводится case1 или case2, но когда проверятся условие if(data=='case1') неважно что выводил у нас алерт case1 или case2 это условие всеравно срабатывает и мне всегда выходит сообщение 'Это имя уже занято'. Условие просто не работает. Я уже менял везде и скобочки и кавычки с 1 на 2, с 2 на 1, условие всеравно не выполняется, в чем может быть причина ?

Последний раз редактировалось Gvozd, 18.11.2010 в 13:18. Причина: Отформатировал код
Ответить с цитированием
  #2 (permalink)  
Старый 18.11.2010, 13:17
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Исправил ваше сообщение
Ответить с цитированием
  #3 (permalink)  
Старый 18.11.2010, 13:22
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

в вашем коде все вроде в порядке.
вы уверены, что выложили тот же код, который не работает?
залейте на хостинг, пожалуйста свой пример, и скажите примеры занятого логина
Ответить с цитированием
  #4 (permalink)  
Старый 18.11.2010, 13:25
Новичок на форуме
Отправить личное сообщение для Android47 Посмотреть профиль Найти все сообщения от Android47
 
Регистрация: 18.11.2010
Сообщений: 2

а какой есть бесплатный хостинг, где это можно быстро разместить ?
Ответить с цитированием
  #5 (permalink)  
Старый 18.11.2010, 13:44
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

да любой.
тема бесплатного и дешевого хостинга уже обсуждалась тысячи раз.
ищите.

а тем временем, поставьте firebug и попробуйте по человечески отладить код.

PS почему-то мне кажется, что замена строки
$(this).html('Это имя уже занято').addClass('messageboxerror').fadeTo(900,1);

на
$(this).html('Это имя уже занято'+data+(data=='case1')+(data=='case2')).addClass('messageboxerror').fadeTo(900,1);

что замена покажет много чего интересного
попробуйте код для обоих случаев(валидного и невалидного логина)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анимация. Помогите понять почему не работает. kadurban jQuery 4 08.07.2010 20:50
Почему это работает? (инклуд JS в JS) Василий Б. Общие вопросы Javascript 4 11.06.2010 12:41
проблема с рекурсией, не могу понять почему скрипт не выходит из неё. Flirer Общие вопросы Javascript 5 24.12.2009 01:01
не могу понять в чём ошибка scuter Общие вопросы Javascript 2 28.08.2008 15:22
Не могу понять как работает jQuery kostiaGt jQuery 2 20.07.2008 08:42