2010-06-01 18 views
1

Je travaille sur une application web.Hyperlien contrôlé hijaxing

J'ai une grille de données avec une colonne 'commands' qui a des hyperliens pour certaines opérations CRUD courantes (Edit, Delete, etc.). Lorsqu'un utilisateur clique sur le lien hypertexte Modifier, je récupère l'identifiant unique de la ligne de la grille de données et charge une boîte de dialogue modale (j'utilise l'interface utilisateur jQuery) pour que l'utilisateur puisse éditer les données de la ligne et les fermer la boîte de dialogue de formulaire modal à quel point je rafraîchis la page.

Maintenant, avant que la page ne soit rafraîchie, il est possible qu'un utilisateur clique à nouveau sur le lien d'édition, et à chaque fois que cela se produit, le 'hijaxing' échoue.

Ma question est de savoir comment puis-je vérifier que si un utilisateur clique sur un lien hypertexte et la page est rafraîchissante, je retarde jusqu'à ce qu'il soit fait rafraîchissante, alors je laisse le « Hijax » à botter.

+0

@Kevin Reid je vous remercie de votre contribution. Je l'ai eu à travailler en rendant le contenu d'une vue partielle (j'utilise le framework asp.net mvc) - donc après avoir fini de mettre à jour un enregistrement par exemple, je récupère juste le html de la vue partielle via ajax et faites un remplacement du "vieux" conteneur (div). Nouveau problème> lors de l'édition d'une image, la logique fonctionne bien mais comment puis-je obtenir le navigateur pour actualiser le conteneur d'image (div) afin que l'image nouvellement téléchargée soit affichée à la place de l'ancienne? (Je ne veux pas rafraîchir toute la page). – Izmoto

+1

Cela devrait être affiché comme une question distincte. Mais de toute façon, il n'y a aucun moyen d'ordonner au navigateur de recharger; la stratégie habituelle consiste à rendre l'URL différente. Vous n'avez rien à faire du côté serveur, changez simplement l'URL; par exemple. de '/ images/image1? time = 444213' à'/image/image1? time = 443145', en utilisant simplement l'horodatage actuel, l'heure téléchargée ou un numéro de version. –

+0

merci Kevin, vraiment super idée (à propos de rendre l'URL différente), je vais explorer cette option :-) – Izmoto

Répondre

0

Que diriez-vous ne pas fermer la boîte de dialogue, mais laisser l'actualisation de la page le supprimer?