Question

J'ai une forme que j'énumère actuellement avec certaines fonctionnalités Javascript et puis après avec jQuery .ajax () à une action du contrôleur MVC. J'ai quelques questions sur mes options si je voulais ajouter traditionnelle (sans javascript) support pour l'affichage de ce formulaire.

1) La chose est que j'ai des données qui ne sont pas dans les champs, mais il est juste texte divs. Depuis que je suis actuellement avec l'affichage AJAX je peux obtenir le contenu de ces divs par leurs id avant de poster et de les inclure en poste. Je suppose que cette information sera absente d'un POST traditionnel.

Une idée est de faire un <input> pour ces divs aussi, mais le cacher à la page. Et puis utilisez ceux POST.

2) Si je décide d'utiliser seulement après AJAX, puis-je me débarrasser de la forme complètement?

3) Étant donné que je reste avec AJAX après, quel format proposez-vous d'utiliser des valeurs affichant? JSON, délimité par des virgules (problématique pour les données complexes), quelque chose d'autre?

4) Approuvez-vous normalement dans les deux sens? Parce que si je regarde mes formes en ce moment, ils utilisent une tonne de fonctionnalités de l'interface utilisateur jQuery et jQuery et ceux-ci seraient un surpuissant à mettre en œuvre sans JavaScript. Quelle est la probabilité que les utilisateurs ne sont JS activé et est-il correct de dire que « JS est nécessaire »?

Dans ce cas concret, je suis la construction d'une demande, l'application à la demande qui ne sera pas orienté web (du moins pas encore) donc j'ai une option de dire que JS est nécessaire.

ty

Était-ce utile?

La solution

Si vous voulez aller la route de maintenir un site viable sans javascript, alors je vous suggère de commencer par faire un site sans les œuvres, puis utilisez javascript pour modifier cette interface à ce que vous voulez vraiment avec JavaScript activé . Cela impliquerait à commencer par toutes les entrées contenues dans les éléments input, puis en remplaçant ces éléments en utilisant javascript avec vos éléments div -. Ou, de façon plus réaliste, en supprimant le inputs et montrant les éléments div préexistants

Je ne vois pas besoin de se débarrasser de la forme même en utilisant AJAX, bien que techniquement il n'y a aucune raison de le faire. Une chose que je voudrais faire, cependant, est de garder la forme, alors ma méthode soumettre tirer l'action de la balise form pour que je ne ai pas besoin de coder directement dans le javascript. Vous trouverez peut-être que cela rend plus facile de partager javascript entre vos différentes formes.

J'ai toujours sérialisation des paramètres de demande, tout comme la forme normalement. La meilleure façon de le faire est avec la méthode serialize jQuery, mais qui ne fonctionne que sur les entrées. Vous pouvez aussi construire un hachage (paires clé-valeur dans un objet) et de l'offre que le paramètre de données pour votre AJAX. Il sérialiser automatiquement de demander paramètres. En utilisant toute autre chose, il faudra que vous désérialiser en utilisant votre propre code plutôt que le code de liaison dans le modèle MVC.

Pour les applications Web orientées public j'essaie de garder l'interface de travail pour les navigateurs compatibles JavaScript et -disabled. navigateurs non javascript parfois ne pas avoir accès à certaines fonctions, cependant. Pour les applications internes, je serais à l'aise avec le javascript exigeant puisque vous (ou quelqu'un dans votre entreprise) a plus le contrôle.

Autres conseils

Je placerais le texte div dans les champs cachés -. Sinon il ne sera pas repris par un POST traditionnel

Personnellement, je pas se débarrasser de la forme, comme ce qui se passe si votre JS est désactivé / cassé pour une raison quelconque? Même si l'utilisateur a JS activé, si (par exemple) un fichier JS ne charge pas votre formulaire ne sera pas en mesure d'envoyer les données par AJAX. Avoir l'AJAX, mais assurez-vous que vous pouvez revenir à un POST forme traditionnelle.

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