![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam takie pytanie - czy istnieje możliwość wywołania opcji SUBMIT za pomocą JavaScript ale z inną wartością ACTION niż jest podana w formularzu? Przyklad: kliknięcie submit wywola akcja.php a klikniecie buttona wywoła funkcje:
które też spowoduje użycie akcja.php a czy da się zrobić tak żeby normalny SUBMIT wykonywał action.php a button np jakasinnaakcja.php? Ten post edytował Flake 16.07.2010, 11:02:30 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Kod // JavaScript var idButtona = "..."; document.getElementsById(idButtona).onClick = function(){ document.getElementsById('formularz').action = 'jakasinnaakcja.php'; document.getElementsById('formularz').submit(); } To powinno pomóc. Ten post edytował flashdev 16.07.2010, 12:17:17 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
ok, dzieki
![]() a jest np możliwość żeby submit wysyłał wartość? Mam w formularzu np 3 submity:
to wszystko jest w tabelce podzielone na wiersze hidden - submit Teraz pytanie - czy da sie zrobić tak, że do akcja.php trafi wartosc tylko z tego submita ktorego klikne? W tym wypadku dostaje wartosc zawsze ostatniego hiddena (czyli 3) a potrzebuje żeby skrypt w akcja.php wiedzial z ktorego buttona przyszla wiadomosc - wszystko musi byc w jednym formularzu. Ten post edytował Flake 16.07.2010, 14:13:39 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Przed wywołaniem zdarzenia submit, ustaw atrybut disable dla pozostałych submitów.
@edit Eh... widzę, że @Flake sobie już poradził i edytował swój post ![]() Ten post edytował #luq 16.07.2010, 14:14:17 -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie, poprostu chciałem przenieść ten problem do nowego tematu - ale jak zobaczyłem, że jest odpowiedź to wróciłem tutaj ^^
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
ok, dzieki ![]() a jest np możliwość żeby submit wysyłał wartość? Mam w formularzu np 3 submity: [...] Przypisz każdemu submitowi parametr name. Po stronie serwera będziesz mógł stwierdzić, który został kliknięty, oraz którą wartość użyć. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
jak do submitow przypisze name to jak później odczytać który został kliknięty?
mam (guziczki są tworzone dynamicznie w JavaScript wiec zmienia sie cyferka w name histButt0, 1, 2...)
i jak odczytać teraz że to ten guzik był kliknięty?
nie zwraca nic Najlepiej jakby zwracał liczby bo wtedy moge to podpiąć pod MySQL. ----- Z ustawieniem 'DISABLED' też próbowałem ale nie wiem jak ustawić wszystkie guziki poza tym który jest klikany. |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Wytłumacz jeszcze raz co chcesz osiągnąć.
Klikasz na "Wyslij 3" i chcesz mieć tylko Kod $_POST = array( 'wartosc' = 3 ); Tak? -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
dokladnie tak
![]() Cały formularz tworzony jest w JavaScript więc tych elementów może być 3 a może być 10 Chodzi o to, że mam liste np 10 produktów i przy każdym z nich chce dodać guziczek 'historia' który pokaże mi historię sprzedaży danego produktu. Więc otrzymanie liczby z submita byłoby bardzo pomocne w zapytaniu MySQLowym ![]() Ten post edytował Flake 19.07.2010, 13:40:52 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Za bardzo sobie utrudniasz sprawę.
Dlaczego nie stworzysz osobnych formularzy do osobnych sumbitów, przecież i tak to idzie pod różne akcje (btw. dlaczego idzie pod inne akcję)? Dlaczego nie zmienisz metody przesyłania formularza na GETa? Ogólnie to tak jak pisałem, jeśli jakiś input ma ustawiony atrybut disabled="disabled" to po stronie serwera tego pola nie ma... action.php
i to da: Kod Array ( [foo] => [go] => Go ) Ale po co to w ten sposób rozwiązywać jak można inaczej i będzie na pierwszy rzut oka widać jak to działa. Odpowiedz sobie na te 2 pytania postawione przeze mnie. -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dwie akcje bo jedna wystawia fakture
![]() Z tego co czytam na necie (a teraz w Twoim poscie) to w momencie jakbym zrobił:
to powinienem w $_POST[] mieć wartość => 1 - niestety jak wyświetlam $_POST[] to nie mam w ogóle klucza 'wartosc' co dziwne bo cała reszta z formularza się ładnie pojawia w $_POST |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
niestety cały system jest już napisany - ja mam wprowadzić tylko poprawki Rozumiem. Więc zrób to tak: Jeśli klikasz na drugi sumbit to wywoływana jest funkcja w JSie modyfikująca drzewko DOM do postaci: a potem jest zdarzenie submit Jeśli jest kliknięty pierwszy sumbit to etc. -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
A można by zrobić tak?
dodać do tego hiddeny z disabled="disabled" i do funkcji submita dodać coś w rodzaju: form.elements[this+1].disabled=false; (wiem że to this+1 nie dziala - ale chodzi mi o ogólny pomysł) ? w sensie żeby tuż przed wysłaniem formularza zmienić atrybut następnego po submicie elementu na disabled="" ? wtedy tylko hidden zaraz za submitem nie bedzie disabled i będzie mógł wysyłać liczby w wartości Tylko jak zrobić to this + 1 ? ![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Jeśli miałbyś tak:
to w jQuery zrobiłbyś coś w ten deseń Kod $('#id_formularza submit').click(function(){ $(this).parent().filter( 'input[type=submit]' ).attr( 'disabled', 'disabled' ); $(this).removeAttr( 'disabled', 'disabled' ); $(this).parent().attr( 'action', 'foo.php' ); // zmiana akcji formularza $(this).submit(); }); Powinno działać, nie sprawdzałem. Ten post edytował #luq 19.07.2010, 20:52:32 -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 18.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
wielkie dzięki za pomoc ![]()
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 21:58 |