Studiuję teraz książkę "JavaScript i jQuery - Nieoficjalny podręcznik", więc mam nadzieję, że znajdę rozwiązanie.
W necie może i jest tego masa, ale każda próba modyfikacji przeze mnie skończyła się fiaskiem.
Witam ponownie,
poczytałem trochę o Ajaxie oraz samym JS i wyszło takie cuś:
<body id='ipboard_body' class='login_screen'> <form action='java script:logowanie();'> <div id='login' class=''> <div id='login_controls'> <input type='text' size='20' id='nick' name='nick' value='' class='textinput'>
<input type='password' size='20' id='pass' name='pass' value='' class='textinput'> </div> <input type='submit' class='button' value="Zaloguj" />
oraz sam kod JS:
function logowanie()
{
var nick = document.getElementById("nick").value;
var infoMassage = document.getElementById("login");
var pass = document.getElementById("pass").value;
if(nick == '')
{
//infoMassage.innerHTML = '<div id=\'login_error\'>Nie podano loginu.</div>';
$('#login').append('<div id=\'login_error\'>Nie podano loginu.</div>');
//$('login').append('<p>Test</p>');
}
else if(pass == '')
{
infoMassage.innerHTML = '<div id=\'login_error\'>Nie podano hasła.</div>';
}
else
{
var myLogAjax = new Ajax.Request('../check.php',
{
method: 'post',
parameters: "nick="+nick+
"&pass="+pass,
onComplete: showResponseLog,
onFailure: showAlertLog
}
);
}
}
function showResponseLog(text)
{
var infoMassage = document.getElementById("infoMassage");
var logFrom = document.getElementById("logFrom");
if(text.responseText=='1')
{
infoMassage.innerHTML = 'Błąd: <b>Takie konto nie istnieje, bądz jest nie aktywne</b>';
}
else
{
logFrom.innerHTML = 'Zostałeś zalogowany jako: '+text.responseText+'. Dziękujemy';
}
}
function showAlertLog(MyRequest)
{
var infoMassage = document.getElementById("infoMassage");
infoMassage.innerHTML = 'Błąd: <b>Błąd podczas logowania</b>';
}
Wszystko spoko, tylko że aż wstyd się przyznać do jednej rzeczy. A mianowicie:
var nick = document.getElementById("nick").value;
var infoMassage = document.getElementById("login");
var pass = document.getElementById("pass").value;
if(nick == '')
{
//infoMassage.innerHTML = '<div id=\'login_error\'>Nie podano loginu.</div>';
$('#login').append('<div id=\'login_error\'>Nie podano loginu.</div>');
//$('login').append('<p>Test</p>');
}
else if(pass == '')
{
infoMassage.innerHTML = '<div id=\'login_error\'>Nie podano hasła.</div>';
}
Na początku miałem dobrze jakoś zrobiłem tak, że wyświetlał się komunikat
bez znikania formularza logowania. Jednak... albo nie zapisałem pliku, albo coś, lecz teraz po kliknięciu: Zaloguj usuwa się formularz, a wyświetla komunikat. Modyfikowałem 12434234234234 razy, raz to stosując funkcję append(), raz to prepend() nic nie dało. Proszę o pomoc! Jak zrobić, by po kliknięciu zaloguj robiło się:
<body id='ipboard_body' class='login_screen'> <form action='java script:logowanie();'> <div id='login' class=''> <div id=\'login_error\'>Nie podano loginu.
</div> <div id='login_controls'> <input type='text' size='20' id='nick' name='nick' value='' class='textinput'>
<input type='password' size='20' id='pass' name='pass' value='' class='textinput'> </div> <input type='submit' class='button' value="Zaloguj" />
a nie:
<body id='ipboard_body' class='login_screen'> <form action='java script:logowanie();'> <div id='login' class=''> <div id=\'login_error\'>Nie podano loginu.
</div>