Witam,
Mam jakiś element 'a' w którym mam zdarzenie submitowania formularza gdy klikniemy. Ale chcę dodać możliwosc tego submitowania takze wtedy, gdy klikniemy na ten element poprzez 'open in new tab'. Żeby w ogole mozna bylo to otworzyc w nowym tabie, trzeba dodac href jak rozumiem, jednak jak to zrobic, aby przy kliknieciu open in new tab takze submitowac ten formularz. Krotko mowiac klikniecie jak i otworzenie w nowym oknie przycisku ma wysylac formularz.
Czy da sie to jakos zrobic?
nie, przeglądarki ignorują wtedy eventy js. one nie klikają tego elementu. po prostu pobierają href
i otwierają to w nowym oknie.
przy okazji masz dobry przykład "dlaczego nie należy robić submitu formularza przez <a>
" - masz button
, masz input[type=submit]
- to po cholerę to <a>
?
Równie dobrze, możesz obrazki wstawiać w <code data-src="">
i javascriptem wstawiać w background-image i przeliczyć wymiary, albo robić odnośniki elementami <h5 data-href="">
- co będzie tak samo niepoprawne z logiką i semantyką kodu jak Twój przykład
Juz mniejsza o sensownosc tego 'a', w tym formularzu chyba nie ma inputa typu submit po prostu.
Ale czy da sie zrobic przycisk jakikolwiek, ktorym wyślę post zarowno poprzez klikniecie jak i poprzez otworzenie w nowym oknie?
Nie "mniejsza", bo to jest istotny aspekt. Łopatą też piwo otworzysz, ale nie do tego służy i nie możesz powiedzieć "mniejsza, że łopata jest do kopania w ziemi, co zrobić, żeby się tym wygodnie piwo otwierało" ;)
Nie da się. Opera 12 submitowała formularz po kliknięciu SHIFT+click do nowego okna (ignorując przy tym javascript, więc jeżeli formularz był koniecznie-ajaxowy to i tak nic z tego nie było - co zresztą jest trochę logiczne jeżeli próbować sobie wyobrazić implementację takiego rozwiązania od strony przeglądarki), ale nie spotkałem się z tym, żeby jakaś współczesna przeglądarka tak robiła. Ale z "prawoklika" to w ogóle nigdy nie widziałem takiego rozwiązania.