2008-11-04 6 views
12

Je ne trouve pas le très souvent "*" très beau - quelqu'un peut-il suggérer une méthode plus jolie ou me donner un exemple?Quelle est la meilleure façon de mettre en évidence un champ obligatoire sur un formulaire Web?

J'ai essayé de rendre le champ surligné en rouge comme une personne l'a suggéré mais je n'ai pas aimé le look.

Des étiquettes en gras pourraient faire l'affaire.

Mais j'aime vraiment l'idée de "Obligatoire" étant affiché en gris dans le champ jusqu'à ce que le texte soit ajouté. Est-ce que quelqu'un a du code pour ça?

Répondre

14

D'une manière générale, les meilleures formes web sont les plus simples qui me demandent de penser le moins . La "norme" qui a évolué est que les champs obligatoires ont un astérisque (*) à côté d'eux. Parfois, l'astérisque est rouge pour l'aider à se démarquer un peu.

Pourquoi combattre la norme?Ne faites pas trop réfléchir vos utilisateurs. Allez avec la norme et gardez votre créativité pour des choses plus importantes.

+0

Parfois, les normes ne vieillissent pas bien et finissent par avoir un besoin urgent de modernisation. Bien que je sache que beaucoup de gens ne seront pas d'accord, je dirais que cette norme en fait partie. L'astérisque est vieux et laid, et nous pouvons faire beaucoup mieux. C'est plus de travail, certes, mais je suggérerais de conserver l'astérisque, mais ensuite de le masquer via un script côté client et de mettre en surbrillance le champ associé avec une couleur - peut-être jaune - quand il est vide. Pensez à ces nouveaux champs de mot de passe fantaisie qui mettent à jour un indicateur de force lorsque vous le créez. Quelque chose comme ca. – Mir

2

ajouter style = "bordure: solide rouge clair;" à l'élément

+0

Fonctionne correctement sur la plupart des éléments mais ne fonctionne pas correctement avec un ensemble de boutons radio ... ou une case à cocher (par exemple, je suis d'accord avec le service de spam requis) – scunliffe

+0

Je ne suis pas sûr que la couleur convienne correctement. Le rouge ressemble trop à un message d'erreur, mais ce n'est pas une telle chose. Peut-être qu'une bordure verte encouragerait les gens à 'aller' dans ces champs ... –

+0

Oh, et les écrans s'affichent très différemment entre Mozilla et Internet Explorer quand je les ai vérifiés pour ne pas dire que vous ne le voulez pas. –

1

Je n'ai généralement aucune objection à voir (requis) dans une police plus petite soit juste en dessous du nom du champ ou à côté du champ d'entrée.

Je pourrais également voir en utilisant un "filigrane de zone de texte" pour avoir le champ "requis" dedans jusqu'à ce qu'ils mettent l'accent sur le champ et commencent à taper.

+0

Existe-t-il un moyen simple d'ajouter du texte gris tel que "Obligatoire" à une zone de texte, qui disparaît lors du focus ou nécessite-t-il le javascript? – WPWoodJr

+0

Vous pouvez le faire avec des feuilles de style, mais vous aurez besoin de javascript pour échanger les feuilles de style lorsque l'utilisateur clique sur le champ de la zone de texte. –

7

Si vous allez utiliser la couleur pour mettre en évidence le champ, gardez à l'esprit que certaines personnes sont daltoniens (donc peut-être fournir un autre indicateur aussi)

2

J'ai trouvé les réponses sur LukeW.com à la le plus utile. parce qu'il n'y a pas une solution simple ici. Cela dépend du pourcentage de champs requis, du nombre de champs dans votre formulaire et de la durée de vos étiquettes. Pour la grande majorité du Web, les personnes comprennent que le gras est obligatoire et le poids normal est facultatif (si les options sont en gras). Ce n'est qu'après la validation du formulaire que je présenterai à l'utilisateur les zones de saisie requises, mais ignorées, mises en surbrillance.

5

Si vous utilisez des feuilles de style pour mettre en forme votre code HTML, vous pouvez créer un style pour .mandatory. Par exemple, définissez l'entrée obligatoire pour utiliser ce style, puis vous pouvez jouer avec plus facilement jusqu'à ce que vous ayez le bon mélange de couleur, de bordure et d'autres éléments de style pour convenir à votre conception globale.

HTML

<input id="username" type="text" class="mandatory" /> 

CSS

.mandatory { 
    color: red; 
    font-size: 12pt; 
    font-weight: bold; 
    font-style: italic; 
} 

J'utilise aussi l'astérisque comme l'OP mentionné comme une "sauvegarde".

R

+2

Je l'implémenterais en tant que classe et non en tant qu'implémentation spécifique, car je ne peux faire qu'un seul élément obligatoire: –

+0

Cela fonctionne mais la seule chose dont je ferais attention est de rendre les champs obligatoires rouges et invalides/rouges. Ce serait plus déroutant dans ce cas ... –

+1

Changer la réponse pour utiliser la classe au lieu de l'id, ou cela devrait être voté vers le bas. –

0

voudrez peut-être vérifier www.PeterBlum.com - Ses roches Validation Professional Package pour la validation et la mise en forme des contrôles. Il a des tutoriels pour l'utilisation et de nombreux exemples ainsi qu'un manuel détaillé.

+1

Je ne sais pas quelles options de style sont disponibles pour ces validateurs, mais je dois dire que ce sont quelques-uns des plus mauvais validateurs côté client que j'ai vu. – scunliffe

1

J'aime la façon dont il est fait dans le ASP.NET AJAX Control Toolkit pour le ValidatorCallout control:

alt text http://i37.tinypic.com/264j7o5.png

+0

Je n'aime pas ça parce qu'il ne vous dit pas ce qui est nécessaire avant que vous ayez essayé de soumettre le formulaire. Si tout ce qui est requis est une adresse email, alors cela devrait être le seul champ marqué comme requis ... comment est la question. ;-) – scunliffe

3

Parfois, il est vraiment justifiable de marquer les champs obligatoires et optionnels. Toutefois, avant cela, vous devez vous demander s'il est raisonnable de demander à l'utilisateur des informations non obligatoires. Ceci s'applique notamment aux formulaires d'inscription.

Dans les formes d'enregistrement et tels, il est beaucoup mieux de demander seulement les informations minimales. Après l'enregistrement, l'utilisateur peut, à volonté, remplir des informations facultatives dans des formulaires séparés.

Une fois que toute la vrille inutile a été retirée du formulaire, vous pouvez voir qu'il n'est pas nécessaire de marquer les champs comme obligatoires; soit tout est obligatoire, ou il peut être si évident pour l'utilisateur quels champs sont facultatifs, qu'il n'y aurait pas besoin de donner des indices visuels à ce sujet.