Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]Dynamiczne ładowanie strony z parametrami
Forum PHP.pl > Forum > XML, AJAX
piotr485
Witam.

Chciałbym zrobić coś takiego, aby klikając w link otwierało mi się nowe okno

Teraz mam coś takiego:

  1. <a href="#?w=930" rel="window_140" class="poplight">Link</a>
  2.  
  3.  
  4. <div id="window_141" class="popup_block">
  5. Treść okna po kliknięciu w link
  6. </div>
  7.  


Problem w tym, że teraz mam ok. 150 takich linków na stronie z produktami i moja podstrona zajmuje 12tys. lini co przekłada się niestety na wolne wczytywanie strony.

Chciałbym zrobić coś takiego że dopiero po kliknięciu w link zaczynały by się wczytywać dane, czyli dodać tam jakiś atrybut data-id i z niego odczytywać - tylko nie mam zielonego pojęcia jak to zrobić, czy mógłby mnie ktoś nakierować ? Dodam jeszcze że w treści otwierającego się okna są checkboxy i przycisk do wysłania metodą POST.
Star
Mozesz zrobic cos w tym stylu, w pliku content.php napisz kod ktory wygeneruje odpowiednia treść

  1. <a href="#?w=930" rel="window_140" class="poplight">Link1</a>
  2. <a href="#?w=930" rel="window_141" class="poplight">Link2</a>
  3. <a href="#?w=930" rel="window_142" class="poplight">Link3</a>
  4. <div id="content"></div>
  5.  
  6. <script>
  7. $('.poplight').click(function(){
  8.  
  9. $("#content").empty();
  10. var window = $( this ).attr( "rel" );
  11.  
  12. $.ajax({
  13. method: "POST",
  14. url: "content.php",
  15. data: { window: window }
  16.  
  17. }).done(function(data) {
  18.  
  19. var newDiv = document.createElement('div');
  20. newDiv.id= window;
  21. newDiv.innerHTML= data;
  22. document.getElementById('content').appendChild(newDiv);
  23.  
  24. });
  25. });
  26.  
  27.  
  28. </script>
piotr485
Mam coś takiego:

  1. <!DOCTYPE html>
  2.  
  3. <script data-require="jquery@*" data-semver="2.0.3" src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
  4. <script data-require="bootstrap@*" data-semver="3.1.1" src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
  5. <link data-require="bootstrap-css@*" data-semver="3.1.1" rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" />
  6. <link rel="stylesheet" href="style.css" />
  7. <script src="script.js"></script>
  8. </head>
  9.  
  10.  
  11. <div><a href="#myModal" data-toggle="modal" id="1" data-target="#edit-modal">Edit 1</a></div>
  12. <div><a href="#myModal" data-toggle="modal" id="2" data-target="#edit-modal">Edit 2</a></div>
  13. <div><a href="#myModal" data-toggle="modal" id="3" data-target="#edit-modal">Edit 3</a></div>
  14.  
  15. <div id="edit-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  16. <div class="modal-dialog">
  17. <div class="modal-content">
  18. <div class="modal-header">
  19. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  20. <h4 class="modal-title" id="myModalLabel">Modal title</h4>
  21. </div>
  22. <div class="modal-body edit-content">
  23. ...
  24. </div>
  25. <div class="modal-footer">
  26. <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
  27. <button type="button" class="btn btn-primary">Save changes</button>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32.  
  33. $('#edit-modal').on('show.bs.modal', function(e) {
  34.  
  35. var $modal = $(this),
  36. esseyId = e.relatedTarget.id;
  37.  
  38. $.ajax({
  39. cache: false,
  40. type: 'POST',
  41. url: 'content.php',
  42. data: 'EID='+essay_id,
  43. success: function(data)
  44. {
  45. $modal.find('.edit-content').html(esseyId);
  46. }
  47. });
  48.  
  49. })
  50. </script>
  51.  
  52. </body>
  53.  
  54. </html>


Tylko pytanie co powinno być w pliku content.php bo teraz mam coś takiego:

  1. <?php
  2. $editId = $_POST['EID'];
  3. ?>
  4. <div class="jumbotron">
  5. <div class="container">
  6. <h1>The ID Selected is <?php echo $editId ?></h1>
  7. </div>
  8. </div>


niestety wogóle tak jak by niewczytywał tego pliku bo jest pusto w okienku sad.gif
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-2024 Invision Power Services, Inc.