2010-06-15 8 views
0

J'ai une fonction de base pour alerter l'utilisateur lors de l'actualisation, le bouton de retour du navigateur (sauf le bouton Soumettre) ou quand un lien est cliqué ils perdront les données de formulaire d'un assistant de formulaire.jConfirmer et onbeforeunload

<script type="text/javascript"> 
var okToSubmit = false; 
window.onbeforeunload = function() { 
    document.getElementById('Register').onclick = function() { okToSubmit = true; }; 
    if(!okToSubmit) return "Using the browsers back button will cause you to lose all form data. Please use the Next and Back buttons on the form"; 
}; 
</script> 

Im en utilisant jAlert pour brancher des alertes et que vous souhaitez utiliser jConfirm pour la fonction ci-dessus. Quand j'ajoute jConfirm après "return" cela fonctionne ... pendant une seconde. il affiche l'avertissement, puis la page s'actualise et la boîte de dialogue disparaît. Est-ce que quelqu'un sait comment réparer ceci?

Répondre

0

Je crois que vous avez encore besoin de return false;, sinon l'action de déchargement se produit toujours. Je ne suis pas familier avec le plug-in, mais essayer quelque chose comme:

// your code 
if(!okToSubmit) 
{ 
    alert("Using the browsers back button will cause you to lose all form data. Please use the Next and Back buttons on the form"); 
    return false; 
} 
// the rest of your code 
+0

Si le plug-in attend un retour soit'on' ou 'quel que soit votre is' de réponse, alors ne pas tenir compte de cette réponse. – hookedonwinter

+0

thx mal lui donner un coup, le "alerte" fonctionnera-t-il comme un dialogue de confirmation? –

+0

non. Alerte juste des alertes. Confirmer donne l'option. Donc, vous pouvez le changer à 'var whatTheySaid = confirmer (" êtes-vous prêt srsly yo? ")' Et ensuite faire des choses basées sur le retour (vrai ou faux). – hookedonwinter

Questions connexes