Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   javascript и $.get (https://forum.antichat.xyz/showthread.php?t=138063)

rcc0023 29.08.2009 09:52

javascript и $.get
 
Код HTML:

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

PHP код:

$.get("scripts/checkusers.php", { login:document.getElementById('log-in').valuepass: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 зачем писать обычным способом?
Не проще ли так
PHP код:

$.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.


Время: 20:15