2010-09-06 5 views
0

Je souhaite désactiver le fonctionnement d'une fonction jQuery. Dans ma page j'ai un formulaire de connexion. Après le succès de la connexion, il disparaît et la page principale est affichée. Mais si je rafraîchis la page, cela montre à nouveau le formulaire principal. C'est parce que tout mon contenu est dans un fichier .html. Je les ai toutes faites display: none; et après la connexion jQuery exécute la méthode .show().Comment désactiver une fonction jQuery après son appel?

Est-il possible de désactiver cette fonction après avoir appelé? Ou devrais-je ajouter tout mon contenu à un autre fichier .html, puis après la connexion afficher dans la page?

Ou comment utiliser l'en-tête ("Location: main2.html"); Fonction dans jQuery? Pour inclure une autre page dans la page principale?

Répondre

3

JavaScript ne survit pas aux rechargements de page. La même chose s'applique à HTML et CSS. Si vous souhaitez conserver une valeur lors du rechargement d'une page, cela peut être réalisé en utilisant des cookies.

Dans votre cas, vous pouvez stocker dans un cookie si l'utilisateur est connecté. Si vous rechargez la page, les cookies sont toujours présents. Ensuite, vous pouvez lire les cookies-données et déterminer si l'utilisateur est déjà connecté. Si oui, vous pouvez afficher la page principale immédiatement.

1

Pour répondre à votre question directement, vous pouvez utiliser:

$.fn.show = function() { return; } // Or similar 

désactiver $() show() de travailler plus jamais ... mais cela s'effacé lorsque la page est mise à jour de toute façon..

Cependant, j'éviterais cette approche!

Une autre approche serait d'écrire votre balisage afin que le formulaire de connexion commence à être caché avec display: none quelque part dans son CSS. Ensuite, utilisez ce code pour montrer quand quelqu'un clique sur le bouton de connexion:

$('#loginbutton').bind('click', function() { $('#loginform').show(); } 

De cette manière, la forme ne doit jamais apparaître à moins que l'utilisateur demande.

Questions connexes