Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]funkcja load() i zagubione ID
Krismen
post 27.04.2020, 19:46:55
Post #1





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 5.02.2009

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


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?




Go to the top of the page
+Quote Post
viking
post 28.04.2020, 06:16:58
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


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().


--------------------
Go to the top of the page
+Quote Post
Krismen
post 28.04.2020, 06:47:15
Post #3





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 5.02.2009

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


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?
Go to the top of the page
+Quote Post
viking
post 28.04.2020, 06:58:25
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


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


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 23.04.2024 - 09:42