![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Jak określić konkretny input, którym ma wywołać zdarzenie? tzn. przykładowe formularze:
i tak kilka formularzy oraz przykładowe submity Kod $(document).ready(function(){ $("form").submit(function(){ alert('delete'); return false; }); $("form").submit(function(){ alerty('update'); return false; }); }); próbowałem odwoływać się do konkretnego inputa na kilka sposobów tzn: Kod $("form[name='update']") $("form[@name='update']") jednak żaden spsób nie działa, tzn. bez odwołań tego typu a przez zwykły $("form") wywołuje się tylko pierwszy submit w tym przypadku ten co wywołuje alert('delete'), jak można wywołać ten drugi submit?? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o podpięcie odpowiednich zdarzeń do odpowiednich submitów we wszystkich formularzach:
Kod $(document).ready(function(){ $(':submit[name="delete"]').click(function(){ alert('delete'); return false; }); $(':submit[name="update"]').click(function(){ alert('update'); return false; }); }); PS Co problem ma wspólnego z xml/ajax? Toć to poprostu JS. PSS "Note the "@" before the attribute name was deprecated as of version 1.2." (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Ten post edytował ziqzaq 13.02.2009, 13:14:19 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj tak:
Kod $('form[name=update]') //jq >=1.3.x $('form[@name=update]')//jq <=1.2.6 BTW: Definiując 2 razy to samo zdarzenie jednego elementu (o ile się nie mylę) powinieneś nadpisać pierwszą definicję drugą definicją. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi o podpięcie odpowiednich zdarzeń do odpowiednich submitów we wszystkich formularzach:
Kod $(document).ready(function(){ $(':submit[name="delete"]').click(function(){ alert('delete'); return false; }); $(':submit[name="update"]').click(function(){ alert('update'); return false; }); }); PS Co problem ma wspólnego z xml/ajax? Toć to poprostu JS. PSS "Note the "@" before the attribute name was deprecated as of version 1.2." (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) niestety to powoduje że wyświetlane są tylko wartości z pierwszego formularza lord_t próbowałem już tego rozwiązania jednak wtedy nic się nie dzieje a w konsoli błędów nie pojawia się żadne komunikat |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 603 Pomógł: 131 Dołączył: 24.07.2007 Skąd: Górny Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Weź no zapodaj kod tej stronki z tymi formularzami.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
Kod <script type="text/javascript"> $(document).ready(function(){ $("form").submit(function(){ $(this).children( 'input[name="gospodarze"]').val() == '' ? $(this).children( 'input[name="gospodarze"]').css( 'background', '#EF9595' ) : $(this).children( 'input[name="gospodarze"]').css( 'background', '#FFFFFF' ); $(this).children( 'input[name="goscie"]').val() == '' ? $(this).children( 'input[name="goscie"]').css( 'background', '#EF9595' ) : $(this).children( 'input[name="goscie"]').css( 'background', '#FFFFFF' ); $(this).children( 'input[name="miejsce"]').val() == '' ? $(this).children( 'input[name="miejsce"]').css( 'background', '#EF9595' ) : $(this).children( 'input[name="miejsce"]').css( 'background', '#FFFFFF' ); $(this).children( 'input[name="godzina"]').val() == '' ? $(this).children( 'input[name="godzina"]').css( 'background', '#EF9595' ) : $(this).children( 'input[name="godzina"]').css( 'background', '#FFFFFF' ); $.ajax({ type: "POST", url: "ajax/term_spotkan.ajax.php", data: { 'id': $(this).children('input[name="id"]').val(), 'gospodarze': $(this).children('input[name="gospodarze"]').val(), 'goscie': $(this).children('input[name="goscie"]').val(),'rok': $(this).children('input[name="rok"]').val(), 'miesiac': $(this).children('input[name="miesiac"]').val(), 'dzien': $(this).children('input[name="dzien"]').val(), 'miejsce': $(this).children('input[name="miejsce"]').val(), 'godzina': $(this).children('input[name="godzina"]').val(), 'wiek': $(this).children('select[name="wiek"]').val() }, success: function( msg ){ $( "#updMsg" ).text( msg ); $( "#updMsg" ).css( 'display', 'block' ); } }); return false; }); }); </script>
formularz obraca się w pętli więc kilka ich jest wyświetlanych na stronie Ten post edytował bliitz 13.02.2009, 14:08:09 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 128 Dołączył: 17.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Hmm nie wiem czy to dobry pomysł, ale może rozbić submit formularza na dwie akcje tzn:
1) Ustawienie jaką akcję wykonać (update, delete) i sumbit formularza, 2) Przy zdarzeniu submit sprawdzić jaką akcję wykonujemy i pobrać odpowiednie pole(a). Kod <script type="text/javascript"> $(document).ready(function(){ var act = ''; $(':submit').click(function(){ act = $(this).attr('name'); }); $('form').submit(function(){ alert($(this).children(':input[name="ha!"]').val()+"\nAkcja: "+act); return false; }); }); </script>
O coś takiego ci chodzi? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 155 Pomógł: 12 Dołączył: 5.04.2008 Ostrzeżenie: (0%) ![]() ![]() |
ziqzaq
coś w tym stylu, po przeróbkach działa thx |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 04:42 |