PDA

Просмотр полной версии : javascript и $.get


rcc0023
29.08.2009, 09:52
function check_users()
{

if(document.getElementById('log-in').value == '' || document.getElementById('pass').value == ''){

document.getElementById('checkusersbase_1').style. display = 'block';
document.getElementById('checkusersbase_2').style. display = 'none';
return false;
}
else{

result=$.get('scripts/checkusers.php?login=' + document.getElementById('log-in').value + '&pass=' + document.getElementById('pass').value,
function(data, textStatus)
{

if (data=='1')
{
document.getElementById('checkusersbase_1').style. display = 'none';
document.getElementById('checkusersbase_2').style. display = 'none';
return true;
}
else{
document.getElementById('checkusersbase_1').style. display = 'none';
document.getElementById('checkusersbase_2').style. display = 'block';
return false;
}

}

);

}


}

на событие формы поставлено "return check_users()"

Если в самый конец функции поставить *return false;* то срабатывает, убрать то нет.. почему не работает в *function(data, textStatus)*? И как это исправить?

rcc0023
29.08.2009, 18:31
если кто знает в чем причина.. помогите

rcc0023
30.08.2009, 16:30
по видимому... в инклудах есть, за что отвечает не знаю.. делал лишь бы работало..

KaMiKadZe
31.08.2009, 09:12
$.get("scripts/checkusers.php", { login:document.getElementById('log-in').value, pass:document.getElementById('pass').value },
function(data){
if (data=='1')
{
document.getElementById('checkusersbase_1').style. display = 'none';
document.getElementById('checkusersbase_2').style. display = 'none';
return true;
}
else{
document.getElementById('checkusersbase_1').style. display = 'none';
document.getElementById('checkusersbase_2').style. display = 'block';
return false;
}
});

Зачем у тебя вообще result=$.get ???
И если подключена библиотека jquery зачем писать обычным способом?
Не проще ли так

$.get("scripts/checkusers.php", { login:$('#log-in').attr('value'), pass:$('#pass').attr('value') },
function(data){
if (data=='1')
{
$('#checkusersbase_1').css("display","none");
$('#checkusersbase_2').css("display","none");

return true;
}
else{
$('#checkusersbase_1').css("display","none");
$('#checkusersbase_2').css("display","block");

return false;
}
});

BlackSun
31.08.2009, 09:24
Что вы к .get прикопались?
В функции смени return'ы на result = BOOL; и в конце функции возвращай это значение. Должно заработать. И не забудь переменную result объявить.

rcc0023
31.08.2009, 16:44
KaMiKadZe, проще! =)

Эм.. в данном коде я попытался воплотить проверку логин/пароля в форме.

При клике по кнопке оптравки (баттон), вызывается функция таким образом: "return check_users()", ретурном (уже в самом скрипте) хотел при неверном логине и пароле вывести сообщение и остановить дальнейшую отправку (запрос формы) данных. При верном отправить запрос.

>result = BOOL;
а как быть, если нужно остановить?

BlackSun
31.08.2009, 16:54
ты BOOL смени на true \ false.