Mam formularz przesyłania i chcę, aby otwierało się nowe okno, gdy użytkownicy przesyłają formularz, abym mógł śledzić go w programie Analytics.
Oto kod, którego używam:
<form action="http://URL at mailchimp subscriber URL.com" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" onclick=window.open(google.html,'','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,status=no');>
<label for="name">Your Name</label><input type="text" value="" name="FNAME" class="required" id="mce-FNAME">
<br/>
<br/>
<label for="email">Your Email </label><input type="text" value="" name="EMAIL" class="required email" id="mce-EMAIL">
<br/>
<br/>
<input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="submit">
</form>
</div>
target="_blank"
zamiast JavaScriptW internetowej aplikacji bazy danych, która wykorzystuje wyskakujące okienko do wyświetlania wydruków danych z bazy danych, działało to wystarczająco dobrze dla naszych potrzeb (testowane w Chrome 48):
Sztuczka polega na dopasowaniu
target
atrybutu w<form>
tagu z drugim argumentem wwindow.open
wywołaniu wonsubmit
module obsługi.źródło
onclick
może nie być najlepszym wydarzeniem, do którego można dołączyć tę akcję. Za każdym razem, gdy ktoś kliknie w dowolnym miejscu formularza, otworzy się okno.źródło
Aby uzyskać podobny efekt do
target
atrybutu formularza , możesz również użyćformtarget
atrybutuinput[type="submit]"
lubbutton[type="submit"]
.Z MDN :
źródło
Podany przez Ciebie kod musi zostać poprawiony. W tagu formularza musisz umieścić wartość atrybutu onClick w podwójnym cudzysłowie:
"window.open('google.htm','','scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,status=no');"
Musisz również uważać, aby pierwszy parametr programu
window.open
również był ujęty w cudzysłów.źródło
Generalnie używam małego fragmentu jQuery na całym świecie do otwierania wszelkich zewnętrznych linków w nowej karcie / oknie. Dodałem selektor do formularza dla mojej własnej strony i jak na razie działa dobrze:
źródło
Uważam, że ta jquery działa dobrze, sprawdź poniższy kod.
dzięki temu akcja przesyłania zadziała i otworzy łącze w nowej karcie, niezależnie od tego, czy chcesz ponownie otworzyć adres URL akcji, czy też nowy link
Ten kod działa dla mnie idealnie ...
źródło
window.open
nie działa we wszystkich przeglądarkach, Google to i znajdziesz sposób na wykrycie prawidłowego typu okna dialogowego.Przenieś również wywołanie onclick do przycisku wejściowego, aby było uruchamiane tylko wtedy, gdy użytkownik przesyła.
źródło
Na to też znalazłem rozwiązanie. Ta strona pomogła mi dzisiaj, więc również tutaj ponownie publikuję.
Powyższy kod to kod dla jednego przycisku. Po naciśnięciu przycisku nastąpi ponowne narysowanie bieżącego ekranu od zakupu do wstępnej akceptacji. W tym samym czasie otwiera nowe okno i przekazuje je firmie PayPal.
źródło