Ich arbeite an einer Unternehmensanwendung, wo Formulare dynamisch generiert werden und wir keine Kontrolle über den Code haben. Die meisten Bedienelemente in Form haben folgenden Code zugeordnetonbeforeunload - an selektive Ereignisse binden
<select name="s_10_1_1_0" onchange = 'SWESubmitForm(document.SWEForm10_0,s_5,"","1-E0RHB7")' id='s_10_1_1_0' tabindex=1997 >
<input type="text" name='s_10_1_11_0' value='' onchange = 'SWESubmitForm(document.SWEForm10_0,s_7,"","1-E0RHB7")' id='s_10_1_11_0' tabindex=1997 maxlength="30">
Wir möchten ein ok abbrechen Dialog präsentieren, wenn der Benutzer versucht, auf eine andere Seite über den Link in der Kopf- oder Fußzeile zu navigieren.
Ich habe den folgenden Code verwendet, um onbeforeunload-Ereignis zu binden und dem Benutzer ein OK-Abbrechen-Dialog zu präsentieren.
//this identifies the unique page name
var viewName = $('input[name="SWEView"]').val();
// if I am on desired page bind the event so that now dialog is presented to user
if(viewName == "XRX eCustomer Create Service Request View"){
$(window).bind('beforeunload', function(){
return 'Your Inquiry has not been submitted yet.';
});
}
Aber das Problem ist, dass dieser Dialog bei jedem Benutzerwechsel in Form Wert eines Feldes kommt (ich glaube, dass für OnChange Ereignis SWESubmitForm Code vorhanden zurückzuführen ist).
Ich möchte onbeforeloadload Dialog zu kommen, wenn Benutzer auf einen anderen Link außerhalb Formular klicken oder mit anderen Worten binden onbeforeunload zu selektiven Ereignissen (einschließlich Schließen des Fensters) auf der Seite.
Bitte Hilfe