Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery][html] Zmiana id dla submita i onclick
AoW
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.08.2005

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


Witam.

od kilku dni walcze z pewnym problemem. Chodzi o wysylke formularza przez Jquery. Skrypt działa bez problemów na podstronie gdzie wyśtępuje 1 formularz.
Jednak na innej podstronie, gdzie tych formularzy mam 15, pojawia mi sie mnóstwo problemów. Z większością udało mi się uporać, jednak nie rozumiem dlaczego jquery nie "łapie" mi zmienionego id buttona.

Uprościłem skrypt do granic możliwości, aby nie wklejać tutaj dziesiątek kodu i sedno problemu jest zachowane, mianowicie:

  1. <script>
  2. $(document).ready(function(){
  3.  
  4. $("a.link").click(function(e) {
  5. $(this).parent().find( "#btnSave" ).attr("id","btnSaveAkt");
  6. });
  7.  
  8. $('#btnSaveAkt').click(function() {
  9. alert('test');
  10. });
  11. });
  12. </script>


  1. <a href="#" class="link">Zmien</a>
  2.  
  3. <form onsubmit="return false" method="POST" name="addRunner" id="addRunner" class="1">
  4. <button id="btnSave" name="btnSave" type="submit">Wyslij list</button>
  5. </form>


Czyli tak. Mam formularz z buttonem o id="btnSave". Po kliknięciu w link Zmien, jquery poprawnie zmienia mi id buttonu z btnSave na btnSaveAkt. Jednak po tej zmianie nie działa funkcja $('#btnSaveAkt').click(function()... (zaznaczam, ze musze uzyc funkcji zmiany ID ze wzgledu na to, ze na swojej podstronie mam 15 takich formularzy).

Może ktoś podpowiedzieć dlaczego?

Pozdrawiam,
AoW

PS) Skrypt mozna przetestowac tutaj: http://mapaszczecina.vdl.pl/jquery/index.php

Ten post edytował AoW 10.09.2014, 11:36:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Nie łapie takiego id, bo nie ma go w DOM podczas załadowania strony.
http://stackoverflow.com/questions/1509094...dynamic-content
Go to the top of the page
+Quote Post
AoW
post
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.08.2005

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


Ale DOM poprawnie jest przekształcany po kliknięciu w link ZMIEN, a funkcja click jest uruchamiana po przebudowaniu DOM (sądziłem zatem, że powinno "łapać").

...to tak na szybko. A teraz idę studiować link, który podałeś. Dziękuje.
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


DOM jest załadowany, a kolejny element jest dynamiczny stad klopot
Go to the top of the page
+Quote Post
AoW
post
Post #5





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 3.08.2005

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


Ok, działa.

Zmiana na
  1.  
  2. $('body').on('click', '#btnSaveAkt', function() {
  3. alert('test');
  4. });


Zaraz postaram się wdrożyć to do głównego projektu.

EDIT: Również działa. Pozdrawiam

Ten post edytował AoW 10.09.2014, 12:08:04
Go to the top of the page
+Quote Post

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: 23.08.2025 - 18:21