Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][AJAX]AJAX - nadanie funkcji konkretnego DIV
iki
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.01.2017

Ostrzeżenie: (0%)
-----


Dzień dobry
Przeszukałem prawie ,,cały Internet" w poszukiwaniu informacji jak nadać dla funkcji JS konkretny div. Wróć - wiem jak to robić, ale widocznie to zastosowanie nie działa w technologii AJAX. Najpierw przedstawię kod a później opiszę problem.

  1. <li id="m1"><a onclick="loadDoc()">Treść 1</a></li>
  2. <li id="m2"><a onclick="loadDoc()">Treść 2</a></li>
  3. <li id="m3"><a onclick="loadDoc()">Treść 3</a></li>
  4. <div id="tekstktorymasiezmieniac"> QQQ </div>
  5.  
  6.  
  7. function loadDoc() {
  8. var xhttp = new XMLHttpRequest();
  9. xhttp.onreadystatechange = function() {
  10. if (this.readyState == 4 && this.status == 200) {
  11. document.getElementById("tekstktorymasiezmieniac").innerHTML =
  12. this.responseText;
  13. }
  14. };
  15. xhttp.open("GET", "menu1.php", true);
  16. xhttp.send();
  17. };
  18.  
  19. function loadDoc() {
  20. var xhttp = new XMLHttpRequest();
  21. xhttp.onreadystatechange = function() {
  22. if (this.readyState == 4 && this.status == 200) {
  23. document.getElementById("tekstktorymasiezmieniac").innerHTML =
  24. this.responseText;
  25. }
  26. };
  27. xhttp.open("GET", "menu2.php", true);
  28. xhttp.send();
  29. };
  30.  
  31. function loadDoc() {
  32. var xhttp = new XMLHttpRequest();
  33. xhttp.onreadystatechange = function() {
  34. if (this.readyState == 4 && this.status == 200) {
  35. document.getElementById("tekstktorymasiezmieniac").innerHTML =
  36. this.responseText;
  37. }
  38. };
  39. xhttp.open("GET", "menu3.php", true);
  40. xhttp.send();
  41. };
  42.  



Tutaj rodzi się moje pytanie: jak dać tym funkcjom polecenie, aby działały na odnośnik o konkretnym id? Bo rzecz jasna, po kliknięciu w dowolny odnośnik wykonuje się ostatnia funkcja, czyli pokazuje się "menu3.php". Próbowałem nadać "a" id i wkleić do skryptu:
  1. $(document).ready(function(){
  2. $("#m1").click(

lecz i to nie podziałało. Czy ktoś wie jak można pomóc mi z tym kodem?
Chciałbym, aby po kliknięciu w "li" o id="m1" wyświetlała się "menu1.php" w miejscu gdzie jest div o id=tesktktorymasiezmieniac i dalej analogicznie w tym samym miejscu nowe teksty. Wie ktoś?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
iki
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.01.2017

Ostrzeżenie: (0%)
-----


Przykro mi, ale nie jestem leniem który liczy na gotowca. Po prostu z moimi jak dotąd niskimi umiejętnościami nie wiele potrafię zrobić ale staram się jak mogę. Praca nad rozwiązaniem tego przypadku z Tobą też jest nauką i w przyszłości sam będę mógł rozwiązać podobne problemy.
Więc pozmieniałem tyle, zabij mnie ale co dalej z tym zrobić nie wiem. A wcześniej, myślałem że mam nie ruszać tekstów które nie są w cudzysłowach. Od niedawna operuję w JS dlatego też się zwracam o pomoc... Rezultat mam taki i kod nie działa :/
Nie wiem np. jeszcze czy mam zmieniać to "id" w nawiasie czy tego nie ruszać bo jest to jakieś polecenie. Jeśli nie chcesz marnować czasu to rozumiem, czas to pieniądz (IMG:style_emoticons/default/smile.gif) Może ktoś jeszcze coś pomoże.

  1. var loadMenu = function (id) {
  2. var mappings = {
  3. "#m1": 'menu1.php',
  4. "#m2": 'menu2.php',
  5. "#m3": 'menu3.php'
  6. };
  7. if (mappings.hasOwnProperty(id)) {
  8. console.log($( "#m1" ).load( "menu1.php" ),
  9. $( "#m2" ).load( "menu2.php" ),
  10. $( "#m3" ).load( "menu3.php" ););
  11. }
  12. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 21:12