Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: Naka в Jul 20, 2010, 11:12



Титла: Форма със задължителни и незадължителни полета
Публикувано от: Naka в Jul 20, 2010, 11:12
Имам html форма в която има задължителни и незадължителни input полета за попълване.
Задължителните полета визуално са означени с отделен цвят (розово на примера) и червена звездичка.

[########]  *

[########]

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

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

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

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

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

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









Титла: Re: Форма със задължителни и незадължителни полета
Публикувано от: b2l в Jul 20, 2010, 11:16
Ето ти една идея: JavaScript. Ако трябва да се попълнят и двете полета, просто и двете се визуализират, ако само едното трябва да се попълни, само едното се вижда от потребителя.


Титла: Re: Форма със задължителни и незадължителни полета
Публикувано от: Naka в Jul 20, 2010, 11:27
Ако трябва да се попълнят и двете полета, просто и двете се визуализират, ако само едното трябва да се попълни, само едното се вижда от потребителя.
Не е точно така. Потребителят решава кое трябва да попълни.
Мислех си с JS и onMouseOver когато позиционира върху някое поле то се оцветява като задължително а другото като не задължително. Но проблема пак остава при начлно зареждане на формата - кое трябва да се изобрази като задължително.


Титла: Re: Форма със задължителни и незадължителни полета
Публикувано от: neter в Jul 20, 2010, 12:33
Не е добра идея да се оповаваш само на динамично оцветяване с javascript, понеже потребителят трябва да знае кое е задължително още с визуализирането на формата. Ако все пак пренебрегнеш това, описвайки onmouseover и onmouseout, трябва да опишеш и onfocus и onblur за тези, които ползват клавиатура, вместо мишка, за движение във формата.
Беше хубаво да кажеш каква информация съдържат тези две полета, защото от това много зависят и добрите идеи. Аз в момента имам две предложения:
1. Ако полетата съдържат информация, която лесно може да се разпознае за кое поле е (например, едното е телефон, а другото email), може да не правиш две полета, а само едно, в което да се попълват и двете (или само едното, по желание), а после в кода да четеш какво е въведено;
2. Ако полетата съдържат информация, която трудно може да се разпознае за кое поле е, използвай друг знак за тези полета (не звездичка, а може и с друг цвят) и опиши и него в легендата какво значи.

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


Титла: Re: Форма със задължителни и незадължителни полета
Публикувано от: runtime в Jul 20, 2010, 14:56
Не се зачетох много и не знам дали някой не ти е отговорил точно така, но що не направиш един javascript, който ако в едното поле има текст, то другото да се забранява и обратно?
После е редно да го упоменеш някъде.


Титла: Re: Форма със задължителни и незадължителни полета
Публикувано от: Naka в Jul 20, 2010, 20:56
P.S.: А, сетих се още едно - слагаш двете полета едно до друго, между тях пишеш "и/или", заглавията им ги пишеш над полетата, и звездичката я слагаш отдясно на така оформената комбинация :)

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

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