2010-01-29 10 views
0

Je suis sur Rails. J'ai un formulaire qui a beaucoup de champs de texte (environ 13). Il semble très volumineux et taché ensemble. D'un point de vue ferroviaire, le formulaire traite de 3 modèles.suggestions sur la façon de présenter/traiter un formulaire avec de nombreux champs de texte

Je suis à la recherche de liens de démonstration ou de liens qui traitent intuitivement des formulaires et de nombreux champs de texte. Est-ce que je peux diviser le formulaire en différentes formes avec le bouton suivant et à la dernière forme avoir un bouton "Terminer" ou quelque chose?

Mais comment cela fonctionnera-t-il? Que faire si l'utilisateur s'éloigne au milieu?

Répondre

0

Je ne connais pas de démos pour vous, peut-être qu'il y a un railcast qui s'occupe de lui, mais je n'en ai jamais vu un qui traite entièrement d'un formulaire de 13 champs de texte.

Maintenant, ce que j'ai fait, c'est rompre avec REST et avoir ce que j'ai appelé step_one et step_two et step_three ... vous obtenez ma dérive.

Sur la première étape, je prends les informations essentielles dont j'ai besoin et je traite step_one comme méthode CREATE.

Pour les étapes deux et trois, je les traite comme des demandes de mise à jour ou PUT; J'utilise update_attribute, et jeter les params là.

Cela a fait deux choses, permet aux gens de partir à mi-chemin s'ils veulent et rompt la monotonie d'une forme énorme. Rappelez-vous que je mets tout ce crud sur une page, si l'utilisateur arrive à modifier le modèle, comme ils l'ont fait dans mon cas. Et si le formulaire traite 3 modèles, comme vous le dites, alors l'étape 1 est le modèle parent, et les deux autres peuvent être créés et édités pendant le processus step_two et step_three ci-dessus, tel qu'il s'applique encore.

0

Il semble que votre problème soit plus lié à la conception qu'à l'implémentation. La conception de formulaires peut être difficile, mais il existe des lignes directrices qui peuvent aider à simplifier le problème. Un excellent aperçu est this slideshow, qui fournit de nombreux exemples de formes simples et élégantes, mais qui capturent également de nombreux champs différents.

Je ne recommande pas de diviser votre formulaire en pages - c'est déroutant pour l'utilisateur et rendra votre contrôleur trop compliqué. Groupez les champs dans des sections connexes et cassez les sections avec des éléments visuels pour aider l'utilisateur à lire le formulaire. Les gens ne dérange pas le défilement tant que ce qu'ils voient est attrayant et facile à lire.

0

En fonction de votre public, il peut être possible de rompre la forme en utilisant JavaScript - de cette façon vous préservez vos modèles et contrôleurs. mais peut réduire le formulaire en un format de type accordéon, ou même un assistant.