Question

J'ai un dilemme, et je ne pouvais vraiment utiliser quelques conseils. Je construis un système de commande avec PHP / Smarty / HTML / jQuery. Elle travaille actuellement sur le site où le vendeur confirmera les commandes.

Je dois avoir 3 divs.

  1. commandes d'attente div - contient une table avec des commandes non transformés
  2. Les dernières commandes div - contient une table avec commandes traitées dernières (10-20 lignes)
  3. Détails div - contient des informations sur l'ordre, et les boutons pour confirmer / déclin

Il est une situation maître détail typique, seul le maître est divisé en 2 parties (1,2) et des détails est en div 3. Naturellement, tout est connecté avec JavaScript / Ajax afin que l'utilisateur peut avoir le sentiment « en temps réel ». En attendant les commandes div est rempli par la technique de la comète (longue interrogation).

Mon dilemme est de savoir comment connecter les divs avec javascript / ajax. Dois-je faire des pages d'écho qui correspondent à l'état db et charger le complètement divs. Ou devrais-je manipuler uniquement les lignes de table et utiliser ajax uniquement pour les appels db de fond?

Pour me rendre plus clair:

Option 1 (Ajax pages complètes):

  • lorsque l'utilisateur sélectionne l'ordre d'attente, nouvelle page (tableau écho) est tiré par les cheveux avec ajax et chargé dans les détails div
  • quand le confirme utilisateur / diminue dans l'ordre div 3, divs 1 et 2 sont rafraîchies avec Ajax (pages d'écho avec les tables qui correspondent à l'état en dB)

Option 2 (manipulation html / fond Ajax):

  • Lorsque l'utilisateur sélectionne l'ordre d'attente, des éléments de div 3 sont remplies avec la nouvelle valeur.
  • lorsque l'utilisateur confirme / diminue dans l'ordre dans div3, B du tableau de la div 1 est retirée (fond Ajax à del de db) et la même tr est ajouté en div 2 (arrière-plan Ajax pour insérer à db)

Alors quel chemin à parcourir?

Était-ce utile?

La solution

Les deux voies sont acceptabale, mais n ° 1 est moins convivial, en raison de reload div 1 & 2. Lorsque vous chargez quelque chose dans div 3, vous avez son id il devrait donc être un problème de copier / append tr (et ajouter de la couleur, de sorte que l'utilisateur sait ce qui est arrivé).

Si vous choisissez 2 se rappeler des actions unbind / lier à vos nouveaux éléments tr, parce que lorsque vous déplacez votre tr vers un autre endroit, il ne sera pas des actions de déclenchement vous binded plus tôt.

Je probablement aller avec 2 moi-même;)

PS. Ajouter superposition avec ajax loader ( http://ajaxload.info/ ), pour être du bon côté de l'utilisateur interuptions, alors que vous êtes chargement de données dans div 3. L'utilisateur sera plus heureux aussi bien, parce qu'il saura que quelque chose se passe;)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top