Zdarzenie onclick i wysyłanie form'a PHP

0

Cześć!
Czy jest możliwość aby na jednym przycisku button wykonać akcję submit w form i jednocześnie podpiąć pod ten przycisk działające zdarzenie "onclick"?
Testowy program jest tutaj: https://jsfiddle.net/0rhy1bo6/
Z input'a, w którym wpisuję dane po kliknięciu po stronie PHP wykonują się prawidłowo, natomiast pod żadnym pozorem zdarzenie "onclick" w umieszczonym form'ie nie zadziała.
Jeżeli nie da się tego zrobić to czy da się to w jakiś sposób obejść? Aby żądane dane otrzymał i jednocześnie PHP i JS?

Pozdrawiam

2

Da się. Poczytaj o e.preventDefault. Może nie do końca zrobisz dwie rzeczy na raz, lecz na 100% dasz rade najpierw wywołać zdarzenie z onclicka, a potem submitować forma.. Poza tym możesz zrobić inaczej - zrób buttona <button type="button" class="abc".. , na formie nadaj np <form class="myClass" i onclick podpinsz pod abc, a w środku submitujesz formularz z klasą myClass. Natomiast jeśli nie chcesz by po submicie przeniosło Cię na podaną w action forma stronę, to zainteresuj się ajaxem.

1

@Jumpeq: twoje zdarzenie działa. Problem w tym, że zanim zdążysz zaobserwować działanie twojej funkcji Show to zostajesz przekierowany na inną stronę, ponieważ Twój przycisk wysyła formularz. Rozwiązaniem jest to, o czym napisał @axelbest, ale warto mieć na uwadze to, że te zdarzenia (submit, click) się nie wykluczają.

Małe sprostowanie. Twój kod nie działa, ale jego zapis jest prawidłowy. To znaczy można użyć za równo atrybutu onclick, jak i funkcji addEventListener. Problem u Ciebie jest taki, że jeżeli używasz onclick to funkcja musi być zdefiniowana przed tym kodem HTML. U Ciebie jest to później. Taki kod zadziała:
https://jsfiddle.net/0rhy1bo6/1/

1 użytkowników online, w tym zalogowanych: 0, gości: 1