onbeforeunload - de les lier à des événements sélectifs

Je suis en train de travailler sur une application d'entreprise où les formulaires générés dynamiquement et nous n'avons pas de contrôle sur le code. La plupart des contrôles dans le formulaire de code suivant associés

<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">

Nous voudrions vous présenter un ok annuler la boîte de dialogue lorsque l'utilisateur tente d'accéder à une autre page en utilisant le lien dans l'en-tête ou le pied de page.

J'ai utilisé de code suivant pour lier onbeforeunload événement et présenter un ok annuler la boîte de dialogue à l'utilisateur.

//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.';
});
 }

Mais le problème est que cette boîte de dialogue apparaît à chaque fois que l'utilisateur modifie une valeur d'un champ dans le formulaire (je crois que c'est en raison de SWESubmitForm code présent pour l'événement onchange).

Je voudrais onbeforeunload dialogue à venir si l'utilisateur clique sur un autre lien à l'extérieur de la forme ou, en d'autres mots cravate onbeforeunload sélective des événements (y compris la fermeture de la fenêtre) sur la page.

S'Il Vous Plaît Aider

OriginalL'auteur Neel | 2012-03-27