2010-06-13 19 views
9

Znam ten temat granic tabu tutaj, i proszę nie odpowiadać z „nigdy nie powinno się tego robić”, itpAlert użytkownik, kiedy uderzył w przeglądarce przycisk Wstecz - z powodu

Mam bardzo długi formularz w kreatorze, a niektórzy użytkownicy są zbyt przyzwyczajeni do używania przycisków wstecz i przodu przeglądarki, z których korzystają zamiast przycisków "Wstecz" i "Następny" w kreatorze formularzy. Jeśli klikną przycisk "Wstecz" przeglądarki, stracą wszystkie dane formularza (co jest uciążliwe w dupie, ponieważ formularz jest tak długi).

Czy jest możliwe wyświetlenie alertu, który będzie miał przycisk "zabieraj mnie stąd" i przycisk "anuluj", więc jeśli naciśnie przycisk anulowania, anuluje funkcję przycisku Wstecz?

+2

Nie jestem pewien, czy jest to zasada "nigdy nie rób tego", którą łamiesz. Stackoverflow ostrzega mnie, gdy próbuję odejść od strony, na której nie zapisałem zmian, oraz Gmaila i mojego banku itp. I zawsze jestem wdzięczny, że tak. Widziałem także wielostronicowe dane formularzy w działaniach przeglądarki w przód iw tył, ale będę zadowolony z alertu Sarfraza poniżej. – msw

Odpowiedz

8

Należy zwrócić komunikat z imprezy onbeforeunload, tak:

window.onbeforeunload = function() { 
    return "Leaving this page will reset the wizard"; 
}; 

Zauważ, że to wydarzenie będzie ognia, gdy użytkownik opuszcza stronę dla dowolny powodu, nawet po zakończeniu pracy kreatora.
Powinieneś ustawić flagę, kiedy kreator zakończy i nie zwróci wiadomości.

+0

window.onbeforeunload = function() { return "Opuszczenie tej strony zresetuje kreatora"; }; pracował całkiem nieźle. Chociaż wolę składnię jQuery, nie mogę uzyskać kodu Sarfraza Ahmeda, aby wyświetlić przycisk anulowania i przycisk OK. Dziękuję SLaks –

+0

jak ustawić flagę po zakończeniu pracy kreatora? zdecydowanie tego potrzebuję! –

+0

To zależy. Jak kończy się twój czarodziej? Zrób globalny 'var isWizardFinished = false;', a następnie ustaw go na 'true', kiedy kreator się zakończy. – SLaks

1

Można użyć wtyczki BBQ jQuery przepisać funkcjonalność następnego/poprzedniego przycisków, aby uczynić go bardziej seemless przenoszący całej tej „kreatora”

http://benalman.com/projects/jquery-bbq-plugin/

Chociaż jest to trochę skomplikowane w konfiguracji, zajrzyj do podanych przykładów, jeśli szukasz tej samej funkcjonalności.

Jest szansa, że ​​prawdopodobnie będziesz musiał zmienić swój kod, aby to pomieścić, a to zajmie wiele godzin.

Powiązane problemy