Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]funkcja load() i zagubione ID
Forum PHP.pl > Forum > Przedszkole
Krismen
Witam. W pierwszym pliku mam takie coś:

  1. <form action="" method="POST" id="formularz">
  2. <a href="form_pierwszy" id="jeden">jeden</a>
  3. <a href="form_drugi" id="dwa">dwa</a>
  4. </form>
  5.  
  6. <div id="wstaw"></div>


  1. <script type="text/javascript">
  2. $("#formularz").on("click","a",function(){
  3. var href=$(this).attr("href");
  4. $("#wstaw").load("formularz_crop.php #"+href);
  5. return false;
  6. });
  7. </script>


A w drugim same formularze, które chcę ładować do pliku 1

  1. <form action="" method="POST" id="form_pierwszy">
  2. <input type="text" id="upload" name="input1" value="pierwszy"/>
  3. <button type="button" id="button1">Dalej</button>
  4. </form>
  5.  
  6. <form action="" method="POST" id="form_drugi">
  7. <input type="text" id="upload" name="input2" value="drugi"/>
  8. <button type="button" id="button2">Dalej</button>
  9. </form>


Po kliknięciu w "a" formularze się ładują, ale gubią swoje ID. Czytałem, że funkcja load gubi ID. Próbowałem zrobić to przez live() ale ta jest już wyłączona w nowszej wersji jquery. Więc mam pytanie, jak można by to zrobić aby formularze załadowały się wraz ze swoimi ID? Ktoś pomoże?




viking
A skąd twierdzenie że cokolwiek gubią? Wczytują się przecież całe włacznie z ID. To co zrobiłeś to delegacja zdarzeń i działa właśnie tak jak stare live().
Krismen
To dlaczego po załadowaniu jednego z formularzy funkcją load() poniższy kod nie działa?

  1. $("#button1").on("click",function(){
  2. alert("KLIK");
  3. })


I po klinięciu w button1 alert nic nie wypluwa?
viking
Bo przypinasz zdarzenie do elementu którego nie było na stronie. I tak, tutaj jest potrzebna delegacja zdarzeń.
https://prophp.pl/article/28/propagacja_i_d...en_w_javascript
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.