![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 14 Dołączył: 13.01.2008 Skąd: Birmingham Ostrzeżenie: (0%) ![]() ![]() |
y0! ;D
Zgłaszam się po kolejne rady ![]() A więc mam sobie formularz, który wysyłam via ajax. W odpowiedzi dostaję np. I teraz.. Czy jest jakiś sposób, aby jakoś uruchomić funkcję test (z automatu)? Czy jest w JS coś na wzór eval() z php? ![]() Ten post edytował Axexis 27.01.2009, 20:51:32 -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 70 Dołączył: 13.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 14 Dołączył: 13.01.2008 Skąd: Birmingham Ostrzeżenie: (0%) ![]() ![]() |
window.onload nie działa. Pisałem, że logowanie leci z ajaxu: Bez reloadu strony.
kod js dla zainteresowanych Kod function AJAXLogin()
{ var url = "/zaloguj?do=login&ajax=1"; var login = document.getElementById('login').value; var password = document.getElementById('pass').value; var divid = document.getElementById('form'); var bladid = document.getElementById('blad'); var parametry = "ulogin="+login+"&upassword="+password; if(login.length == 0 || password.length == 0) { bladid.innerHTML = '<h2>Bledne pole login/haslo!</h2><h3>Pole login lub haslo nie zostalo wypelnione! Prosimy sprobowac ponownie.</h3>'; bladid.style.display='block'; } else { bladid.style.display='none'; ajaxobj.open("POST", url, true); ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajaxobj.setRequestHeader("Content-length", parametry.length); ajaxobj.setRequestHeader("Connection", "close"); ajaxobj.onreadystatechange = function() { if(ajaxobj.readyState == 1) { divid.innerHTML = '<center><h3>Logowanie....</h3></center>'; } else if(ajaxobj.readyState == 4 && ajaxobj.status == 200) { divid.innerHTML = ajaxobj.responseText; } } ajaxobj.send(parametry); } } ?> Ten post edytował Axexis 27.01.2009, 20:57:55 -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 70 Dołączył: 13.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
To chyba ta funkcja powinna być wywoływana przez submit (guzik "Zaloguj się") ? <form action="#" onsubmit='return AJAXLogin()'> i na końcu funkcji daj return false;
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 14 Dołączył: 13.01.2008 Skąd: Birmingham Ostrzeżenie: (0%) ![]() ![]() |
Schowaj się : )
Wiem po co jest ta funkcja (de facto sam ją pisałem) i jak ją wywołać. Raz jeszcze wytłumaczę: Funkcja wyżej podana zwraca (divid.innerHTML = ajaxobj.responseText ![]() ktory jest jak widac (divid.innerHTML = ajaxobj.responseText;) na żywo władowana do diva. I chcę, aby została wykonana funkcja test beż zadnego klikania, przeładowywania strony (window.onload) itp. #down: Przykro mi, że uraził Cię fakt, że nie potrafisz czytać ze zrozumieniem, a ja to postanowiłem wyrazić w sposób czysto ironiczny. Tak, teraz masz prawo się urazić. I jak na razie patrząc na Twoje posty, Twój poziom jest dużo niższy niż się Tobie wydaje. To, że znam bardziej PHP, nie oznacza, że w JavaScripcie jestem całkowicie zielony, bo jak dotąd na 980 linijek napisanego przeze mnie kodu w JS nie pytałem nikogo o pomoc (no, oprócz Wujka Google). Więc jeżeli masz zamiar się wyżalać, bo masz trochę więcej postów (paradoksalnie dokładnie rok później się zarejestrowałeś - ja po prostu więcej czasu poświęcam na pracę, niż na fora ![]() Ten post edytował Axexis 27.01.2009, 21:15:48 -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 70 Dołączył: 13.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Schowaj się ![]() No fajne podziękowanie, zachęci pomocy... To, że Cię źle zrozumiałem nie daje Ci chyba powodu do takich odpowiedzi? Uważam, że mam większe doświadczenie w JS od Ciebie i mimo, ze teraz już wiem co chcesz osiągnąć chowam się zgodnie z Twoją prośbą ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 14 Dołączył: 13.01.2008 Skąd: Birmingham Ostrzeżenie: (0%) ![]() ![]() |
Cóż, po 10 minutach wertowania, doszedłem do tego, jak zrobić to czego chciałem:
Dla zainteresowanych: Kod JS: Kod // Logowanie via AJAX.// function AJAXLogin() { var url = "/zaloguj?do=login&ajax=1"; var login = document.getElementById('login').value; var password = document.getElementById('pass').value; var divid = document.getElementById('form'); var bladid = document.getElementById('blad'); var parametry = "ulogin="+login+"&upassword="+password; if(login.length == 0 || password.length == 0) { bladid.innerHTML = '<h2>Bledne pole login/haslo!</h2><h3>Pole login lub haslo nie zostalo wypelnione! Prosimy sprobowac ponownie.</h3>'; bladid.style.display='block'; } else { bladid.style.display='none'; ajaxobj.open("POST", url, true); ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajaxobj.setRequestHeader("Content-length", parametry.length); ajaxobj.setRequestHeader("Connection", "close"); ajaxobj.onreadystatechange = function() { if(ajaxobj.readyState == 1) { divid.innerHTML = '<center><h3>Logowanie....</h3></center>'; } else if(ajaxobj.readyState == 4 && ajaxobj.status == 200) { divid.innerHTML = eval(ajaxobj.responseText); } } ajaxobj.send(parametry); } } Aby zadziałało divid.innerHTML = eval(ajaxobj.responseText); musi zwracać najpierw Javascript a później dopiero HTML, np.: Kod alert('bu'); <div id="cos"> [...] </div> //// PÓŁFINAŁ ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 21:11 |