Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: ajax przeładowanie jednego div-a
Forum PHP.pl > Forum > XML, AJAX
djsalat
Witam! na samym początku chciałem powiedzieć ze wujek google mi nie pomógł mi rozwiązać mojego problemu.

Otóż mam na swojej stronie player shoutcast i sobie muzyczka leci i chciałbym żeby leciała cały czas przy przeglądaniu całej strony. Aby to zrobić pytałem wujka i znalazł mi kilka rzeczy ale po sprawdzeniu i funkcjonowania linków pozostał mi tylko ten: http://tutorialzine.com/2009/09/simple-ajax-website-jquery/. wszystko było miło ale ja na stronie potrzebuję również php, a tutaj są ładowane strony z rozszerzeniem html. Udało się mi jednak tak pozmieniać rozszerzenia w tym i zaczęło to śmigać ładnie i przyjemnie ale pojawił się kolejny problem;/ Na mojej stronie potrzebuję logowanie i to też bez przeładowania strony. Znalazłem coś takiego: http://devstring.com/ajax-login-module. Jeśli połączę teraz jedno z drugim to logowanie przestało mi działać. wyświetla się mogę wpisać login i hasło a przycisk już nie działa. korzystam z biblioteki jquery...

Czy znalazła się by dobra duszyczka żeby choć troszkę mnie nakierowała na to co moze w tym czymś nie graćquestionmark.gif

Moje przypuszczenia to może to:
1. ten ajax z przeładowaniem stron działa tylko pod html??
2. przycisk przy logowaniu korzysta z polecenia onclik a to też służy do przeładowań strony co możę jedno drugie wykluczaćquestionmark.gif
3. zła konstrukacja plików które ładuję. Każdy plik który chcę zeby się załadował pisze w nim html, head, body, itp... i jeśli jest dołaczany jakiś skrypt do tej podstrony to ładuję go w head'zie podstrony a nie w tym głównym;/

Borykam się z tym już z tydzień i próbowałem metody "prób i blędów" jednak do niczego sensownego nie doszedłem:( Proszę o pomoc sadsmiley02.gif

nikt nic?? zero pomocy??
luck
Zainstaluj sobie rozszerzenie do Firefoksa, które nazywa się Firebug. Podstawa przy zabawie z Ajax. Zobacz jakie błędy wyrzuca konsola.
masahuku
onclick ma taką magiczną właściwość "....; return false" - wykona JS'a oleje przekierowanie - nie ma JS'a wykona przekierowanie. Ciebie jednak powinno interesować onSubmit jak chodzi Ci o forma. Możesz też odpalić stronke w IE (pokazuje bardzo okrojone info o błędzie, ale często wystarcza do prostych skryptów)
mortus
1. Nie ma znaczenia, jakie jest rozszerzenie pliku. Zauważ, że w A simple AJAX website with jQuery strony ładowane są poprzez plik load_file.php i tam jest dodawane rozszerzenie .html do każdej strony
  1. echo file_get_contents('pages/page_'.$page.'.html');

2. Niby przycisk do logowania, podobnie jak i linki do poszczególnych podstron korzystają z jednego zdarzenia onclick(). Tyle, że
Kod
$('li.menuitem').onclick(...);
to już nie to samo, co
Kod
$('input#submit_login').onclick(...);
Pierwszy kod możemy czytać tak: po kliknięciu na któryś z elementów listy <li> o klasie menuitem wykonaj ..., natomiast drugi kod oznacza: po kliknięciu na input-a (oczywiście jest to nasz przycisk <input type="submit" id="submit_login" value="zaloguj" />) o identyfikatorze submit_login wykonaj ... . W skrypcie, który podałeś Ajax Login Module zdarzenie onclick jest podpięte bezpośrednio do konkretnego przycisku w kodzie html.

3. To na pewno jest problem. Skopiuj taki kod źródłowy strony z przeglądarki i wrzuć do walidatora (x)html. W podstronach powinna się znajdować raczej tylko i wyłącznie konkretna treść (nie ma znaczenia, czy będzie to treść statyczna, czy dynamiczna - generowana np. z bazy danych). Wszystkie skrypty jQuery powinny być załadowane w head-erze strony głównej. Dodatkowo, aby dodać jakieś zdarzenie do załadowanej przez jQuery treści (np. jakiegoś div-a) powinniśmy korzystać z metody .live() framework-a jQuery.
northwest
  1. <script>
  2. function odswiez_diva(){
  3. $.post('b.php',{pokaz:'divek'},function(odebrane_dane){
  4. $('#divek').html(odebrane_dane)
  5. })
  6. }
  7.  
  8. </script>
  9. <form action = "b.html" method="post">
  10. <input type="hidden" name="pobranie" value="nie">
  11. <input type="hidden" name="pilne" value="nie">
  12. <input type="checkbox" name="pobranie2" [/quote]> onClick="odswiez_diva()" />[quote]</form>
  13.  
  14. <div id='divek'>
  15. <?php echo $sesja; echo $_POST[pilne]; ?> </div>


Da się takiego diva po prostu odświerzyć, czy trzeba POSTem?
djsalat
Szczerze mówiąc to teraz się zgubiłem...

A simple AJAX website with jquery i ładowanie stron to tam jest jest plik php który jak mówisz

mortus jest to
Cytat
echo file_get_contents('pages/page_'.$page.'.html');

ale pozmieniałem to na php i zamist tego wyżej zrobilem na
  1. echo include(''.$page.'.php');


no i sie załadowało ale przycisk nie działał;/

A mówiąc ze sie zagubiłem tzn nie wiem za co się wziąć... wiem narazie co chce uzyskaćtongue.gif. Może mi nakierujesz?? Mam Stronę głowną i do niej chce załadować logowanie oraz w późniejszym czasie kolejne podstrony.... a źeby to zładować to co musze zrobićquestionmark.gif? lub czy to logowanie się nadaje do ładowania....
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.