Автор Тема: Форма със задължителни и незадължителни полета  (Прочетена 1643 пъти)

Naka

  • Напреднали
  • *****
  • Публикации: 3401
    • Профил
Имам html форма в която има задължителни и незадължителни input полета за попълване.
Задължителните полета визуално са означени с отделен цвят (розово на примера) и червена звездичка.

[########] *

[########]

Формата е стара в момента я преработвам. Въпросът е че по надолу имам 2 полета от които само едното трябва да бъде полълнено или и двете заедно.

Поле 1: [########] *
Поле 2: [########] *

Например в зависимост от контекста на информацията, която юзера попълва той трябва да попълни или само 1-вото или само 2-рото поле или пък и двете заедно. (ИЛИ - И)

Затова се чудя как трябва визуално да се изобразят тези две полета, така че да не заблуждава потребителя кое е задължително и кое не е.

Ако и двете са означени задължителни - ще е подвеждащо защото трябва да попълни само едното. Ако пък и двете са нездължителни пак ще е подвеждащо защото трябва да види че трябва да попълни нещо.

Идеи как трябва да се изобрази? Формата се обработва с php и нямам проблеми с обработването на задължителните полета - мога да го върна когато нещо не е наред. Просто не искам да го връщам и да го заблуждавам визуално.







« Последна редакция: Jul 20, 2010, 11:17 от Naka »
Активен

Perl - the only language that looks the same before and after encryption.

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Ето ти една идея: JavaScript. Ако трябва да се попълнят и двете полета, просто и двете се визуализират, ако само едното трябва да се попълни, само едното се вижда от потребителя.
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

Naka

  • Напреднали
  • *****
  • Публикации: 3401
    • Профил
Ако трябва да се попълнят и двете полета, просто и двете се визуализират, ако само едното трябва да се попълни, само едното се вижда от потребителя.
Не е точно така. Потребителят решава кое трябва да попълни.
Мислех си с JS и onMouseOver когато позиционира върху някое поле то се оцветява като задължително а другото като не задължително. Но проблема пак остава при начлно зареждане на формата - кое трябва да се изобрази като задължително.
Активен

Perl - the only language that looks the same before and after encryption.

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Не е добра идея да се оповаваш само на динамично оцветяване с javascript, понеже потребителят трябва да знае кое е задължително още с визуализирането на формата. Ако все пак пренебрегнеш това, описвайки onmouseover и onmouseout, трябва да опишеш и onfocus и onblur за тези, които ползват клавиатура, вместо мишка, за движение във формата.
Беше хубаво да кажеш каква информация съдържат тези две полета, защото от това много зависят и добрите идеи. Аз в момента имам две предложения:
1. Ако полетата съдържат информация, която лесно може да се разпознае за кое поле е (например, едното е телефон, а другото email), може да не правиш две полета, а само едно, в което да се попълват и двете (или само едното, по желание), а после в кода да четеш какво е въведено;
2. Ако полетата съдържат информация, която трудно може да се разпознае за кое поле е, използвай друг знак за тези полета (не звездичка, а може и с друг цвят) и опиши и него в легендата какво значи.

P.S.: А, сетих се още едно - слагаш двете полета едно до друго, между тях пишеш "и/или", заглавията им ги пишеш над полетата, и звездичката я слагаш отдясно на така оформената комбинация :)
« Последна редакция: Jul 20, 2010, 12:36 от neter »
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
Не се зачетох много и не знам дали някой не ти е отговорил точно така, но що не направиш един javascript, който ако в едното поле има текст, то другото да се забранява и обратно?
После е редно да го упоменеш някъде.
Активен

Naka

  • Напреднали
  • *****
  • Публикации: 3401
    • Профил
P.S.: А, сетих се още едно - слагаш двете полета едно до друго, между тях пишеш "и/или", заглавията им ги пишеш над полетата, и звездичката я слагаш отдясно на така оформената комбинация :)

Мреси,  [_]3точно така го напрвих. Този  вариант също ми беше на акъла ама хич не можах да се сетя да сложа надписите над полетата. ???

Също ще пробвам двете полета да ги сложа със общ малко по-широк background цвят, така че още повече да изглеждат като едно.
Активен

Perl - the only language that looks the same before and after encryption.