вторник, 24 април 2012 г.

Формуляри


                                       Формуляри

Формулярите са един от важните инструменти, особено когато става дума за изработване на интерактивна или комерсиална страница. Чрез формулярите вашите клиенти могат да дадат информация за себе си, да поръчат вашите продукти, да попълнят анкета, чрез която да се ориентирате какви са техните предпочитания, да дадат мнение по определен въпрос и пр. Т.е. формулярите са вид средство за обмяна на информация между разработчика на сайта и неговите посетители.

1.СТРУКТУРА НА ФОРМУЛЯР

Всеки формуляр започва с отварящ таг <form> и завършва със затварящ таг </form>. Цялото съдържание на формуляра е заключено между тези два тага.

Почти всички елементи на формулярите се въвеждат чрез следващия по важност таг input, който може да съдържа няколко атрибута, най-важния от които е атрибута type. Тага input не притежава затварящ таг и затова според изискванията на XHTML наклонената затваряща черта се изписва в края на самия таг.
Всички тагове input и техните атрибути със съответните стойности се разполагат между двата основни тага <form> и </form>.

Типичната структура на един формуляр изглежда така:

<form>

     <input type="стойност" />
     <input type="стойност" />
     <input type="стойност" />
     ...
     ...
     ...

</form>

2.ПОЛЕ ЗА ТЕКСТ

Почти всеки формуляр съдържа поле за въвеждане на текст или няколко такива полета. На страницата тези полета се показват като правоъгълници, в които може да се въвежда текст.

За да се зададе поле за въвеждане на текст във формуляр, трябва да се въведе атрибута type на тага input и да му зададете стойност text:

<input type="text" />

В този случай на страницата ще се изобрази текстово поле, което по подразбиране има дължина 20 символа (тъй като не e изрично зададена дължина на полето).

Препоръчително е освен атрибута type в тага input да се използват и следните атрибути:

- Атрибута name, който приема като стойност името, което дадете на полето. Ако едно текстово поле е предназначено да съдържа например имейла на клиента, то е уместно на атрибута name да се присвои стойност Email или EmailAddress.

Когато задавате име като стойност на някой от атрибутите на формуляра, което се състои от две думи (например Email Address), винаги трябва да изписвате тези думи слято. Думите може да отделите като изписвате всяка от тях с главна буква (например name="EmailAddress").


- Атрибута size задава дължината на текстовото поле в брой символи (например size="45"). Ако не се използва този атрибут дължината на текстовото поле по подразбиране ще бъде 20 символа.


- Чрез атрибута value може да се зададе текст, който да се вижда в текстовото поле преди още клиента да е въвел някаква информация. Например ако текстовото поле е предназначено да съдържа уеб-адреса на клиента, е уместно да се въведе атрибута value и да му се зададе стойност http://


- Чрез атрибута maxlenght може да въведете ограничение на броя на изписваните в текстовото поле символи. Например ако зададете maxlenght="15" в текстовото поле няма да бъде възможно да се въведат повече от 15 символа (букви, цифри и др.).
Преди всяко въвеждане на тага input е нужно да въведете текст, който да обяснява на клиента предназначението на съответното текстово поле. Ако например създавате текстово поле за въвеждане на имейл е уместно пред полето да се изпише "Въведете вашия имейл", "Имейл адрес:" или нещо подобно.

ПРИМЕР:

<form>

     Вашето име: <input type="text"
                        name="Name"
                        size="45"
                        maxlenght="40" />
<br />

     Вашия имейл: <input type="text"
                         name="EmailAddress"
                         size="45"
                         maxlenght="40" />
<br />

     Вашия уеб-адрес: <input type="text"
                             name="WebAddress"
                             size="45"
                             maxlenght="40"
                             value="http://" />

</form>

Примера е за формуляр с 3 полета за въвеждане на текст, всяко с дължина 45 знака, с ограничение за вписване до 40 знака, като първото поле е предназначено за името на клиента, второто - за имейла на клиента и третото - за уеб-адреса на клиента.

Ако желаете да въведете във формуляра текстово поле, в което да не може да се пише, трябва да добавите в тага <input> атрибута readonly със стойност самия атрибут (readonly="readonly").



3.МНОЖЕСТВЕН ИЗБОР - ВЪВЕЖДАНЕ НА ПОЛЕТА ЗА МАРКИРАНЕ

Полетата за маркиране се въвеждат във формулярите за да може посетителя на страницата да направи избор между няколко възможности. Посетителя може да маркира повече от едно поле, т.е. да избере няколко възможности едновременно. Самите полета за маркиране представляват малки квадратчета, при щракване върху които те се запълват с отметка. При повторно щракване върху квадратчето отметката изчезва (маркирането се отменя).

За да се въведат полета за маркиране във формуляр е нужно на атрибута type от тага input да се зададе стойност checkbox.

Тъй като полетата за маркиране предоставят някакъв избор, те трябва да са поне 2 на брой или повече. Името, което ще се присвои като стойност на атрибута name трябва да бъде еднакво за всички полета за маркиране от формуляра, за да се покаже, че това са документи, починени на една и съща тема.

Чрез атрибута value се задава название на съответното поле за маркиране, чрез което полетата да се различават (тъй като имената им, зададени с атрибута name, е задължително да са еднакви).

Ако желаете едно от полетата за маркиране да бъде маркирано предварително (по подразбиране), трябва да използвате атрибута checked, като му зададете за стойност собственото му название (checked="checked").

ПРИМЕР:

<form>

От кой предмет бихте се отървали, ако можете?<br />

     <input type="checkbox"
            name="Choice"
            value="
math"
            checked="checked" />
математика
<br />

     <input type="checkbox"
            name="Choice"
            value="
balgarski" />
български език
<br />

     <input type="checkbox"
            name="Choice"
            value="
fil" />
философия

</form>

Горния пример е за формуляр с 3 полета за маркиране, като името на цялата група полета е Choice, описателното название на първото поле е "математика", на второто - "български език" и на третото - "философия". Въпросът, който ще съдържа формуляра е: "От кой предмет  бихте се отървали, ако можете?". Първото поле е маркирано по подразбиране.



4.ЕДИНИЧЕН ИЗБОР - ВЪВЕЖДАНЕ НА РАДИОБУТОНИ

Радио-бутоните дават възможност за избор между няколко възможности, както това може да се направи и с полетата за маркиране. Разликата при радио-бутоните е, че позволяват да се избере само една от няколко възможности (клиента не може да избере няколко възможности едновременно, както при полетата за маркиране).

Самите радио-бутони представляват малки полета във вид на кръгчета. При щракане върху съответния радио-бутон той се маркира с точка. Отмаркирване чрез повторно щракане не е възможно. Не е възможно и да се маркират няколко радио-бутона един след друг - маркирането на всеки следващ радио-бутон автоматично отменя маркирането на предишния.

За да се изработи радио-бутон е нужно на атрибута type от тага input да се зададе стойност radio.

Всички останали атрибути и правила са като при полетата за маркиране.

ПРИМЕР:

<form>

От кого предмет бихте се отървали, ако можете? (Може да изберете само една възможност)<br />

     <input type="radio"
            name="OneChoice"
            value="
math"
            checked="checked" />
математика
<br />

     <input type="radio"
            name="OneChoice"
            value="
balgarski" />
български език
<br />

     <input type="radio"
            name="OneChoice"
            value="
fil" />
философия

</form>

Този формуляр е подобен на формуляра от по-горния пример, с тази разлика, че тук възможностите на попълващия формуляра са ограничени до единичен избор.



5.ПАДАЩИ МЕНЮТА

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

Както и останалите формуляри, падащото меню също е затворено между начален и краен таг form. Тага за падащо меню е option, а атрибута value задава название на съответната възможност, така че тя да се различава от останалите.

Всяко падащо меню задължително започва (след тага form) с тага select, който има затватящ таг непосредствено преди затварящия таг на form и в който чрез атрибута name се задава име, обединяващо всички възможности за избор от падащото меню.

ПРИМЕР:

<form>

От кой предмет бихте се отървали, ако можете? (Падащо меню)<br />
    <select name="ChooseOne">
        <option value="
math">математика</option>
        <option value="
bg">български</option>
        <option value="
fil">философия</option>
    </select>

</form>


Падащите менюта дават възможност както за единичен, така и за множествен избор. Горния код е пример за падащо меню с единичен избор. За да бъде възможно клиентите да маркират повече от едно поле от падащото меню е нужно в тага select да се въведе атрибута multiple. Този атрибут няма собствена стойност и затова според изискванията на XHTML му се задава като стойност собственото му название (<select multiple="multiple").

Ако по някаква причина желаете падащото меню да се вижда, но да не може да се използва, трябва да добавите в тага select атрибута disabled и да му зададете като стойност собственото му название (select disabled="disabled").

6.МЕНЮ ВЪВ ВИД НА ПОЛЕ

Ако в тага select въведете атрибута size и му зададете някаква стойност по голяма от 1 (например size="2" или size="10" и т.н.) ще получите меню в поле с лента или без лента за скролиране отстрани. Накратко, атрибута size със зададена в цифри стойност превръща падащото меню в меню с лента за превъртане, ако цифрата, зададена като стойност на size, е по-малка от броя на редовете в менюто. Например в горния случай имаме 3-редово меню - 1-ви ред "математика", 2-ри ред "български език" и 3-ти ред "философия". Ако зададем на атрибута size стойност "2" ще получим меню с лента за превъртане. Ако зададем на този атрибут стойност по-голяма от 2 (3 или повече) ще се получи меню във вид на поле в страницата, но без лента за превъртане.

След като менюто е готово клиентите могат да направят множествен избор (да маркират повече от една възможност) като натиснат от клавиатурата бутон Shift и започнат да "влачат" с мишката по менюто или да щракат последователно върху различни възможности.

ПРИМЕР:

<form>

От кой предмет бихте се отървали, ако можете? (Mеню с възможност за множествен избор)<br />
    <select name="MultiChoice" size="2" multiple="multiple">
        <option value="
math">математика</option>
        <option value="
bg">български език</option>
        <option value="
fil">философия</option>
    </select>

</form>


Ако желаете някой от редовете на менюто да бъде предварително маркиран (подобно на радио-бутоните и полетата за маркиране, където това се прави с атрибута checked), трябва да въведете в желания за маркиране таг option атрибута selected, като му зададете за стойност собственото му название, например

<option value="math" selected="selected">математика</option>



събота, 14 април 2012 г.

Изображения

Изображенията - картинки, фотографии и др., анимирани или статични, са важна част от почти всеки сайт в мрежата. Добре подбрани и разположени, те могат да "освежат" HTML-страницата ви, но претрупването на една страница с изображения може да постигне и обратния ефект, като я направи непривлекателна. Освен това използването на прекалено много изображения ще направи страницата "тежка" и трудна за зареждане.



1.ФОРМАТИ НА ФАЙЛОВЕ ЗА ИЗОБРАЖЕНИЯ

В HTML се използват
три основни формата на файлове, съдържащи изображения:

1. gif формат, който се използва предимно за картинки, илюстрации и надписи, които не са оцветени в богата цветова гама и не съдържат "сложни" оттенъци и светлосенки.

Файловете с разширение gif имат две важни предимства пред другия основен формат:

- могат да съдържат "прозрачен" елемент в себе си - това например може да е фона на буквите от някакъв надпис, който ще прозира и под него ще се вижда фона на страницата. Тогава този файл ще "пасва" на страници с различно оцветен фон, освен ако на изображението не е зададен ефект "сянка" - тогава фона трябва да е същия, на който е правен ефекта.

- gif файловете могат да бъде анимирани - да съдържат движеща се картинка.


2. jpeg или jpg формат (и двете разширения са валидни и равностойни), който се използва предимно за висококачествени фотографии.

Възможностите на този формат за показване на цветове и оттенъци са по-богати от тези на gif формата, но за сметка на това jpg файла не може да бъде анимиран, нито да съдържа прозрачни елементи.

Съществува и още един файлов формат, който в момента се използава рядко, защото са малко браузърите, които го поддържат. Това е png формата, който съдържа в себе си най-доброто от gif и jpg форматите. Въпреки качествата на png файловете използването им засега не е препоръчително.

3. png
Съществува и още един файлов формат, който в момента не поддържат всички браузъри. Това е png формата, който съдържа в себе си най-доброто от gif и jpg форматите.

 

2.ПОКАЗВАНЕ НА ИЗОБРАЖЕНИЯ В WEB СТРАНИЦАТА

Най-простия код с който може да покажете изображение на страницата си е следния:

<img src="Име на изображение.gif" />

Тъй като тага за изображение няма затварящ таг, в края му се поставя затваряща наклонена черта, според изискванията на XHTML.


Ако изображението се намира в същата папка, в която се намира и HTML-страницата, тогава за да го покажем трябва да напишем кода:

<img src="Example.gif" />

Ето едно просто изображение с размери ширина 200 пиксела и височина 90 пиксела, направено на Photoshop, което ще използваме в примерите:



 

По подразбиране изображението се появява в лявата част на страницата. Ако желаем да разположим изображението вдясно или в средата на страницата можем да използваме тага <div> и атрибута му align със съответните стойности - left (което е и по подразбиране - отляво), right (помества изображението вдясно) и center (центрира изображението).

Например за да центрираме изображение ще напишем:

<div align="center">               <div align="right">                  <div align="left>

<img src="Example.gif" />     <img src="Example.gif" />    <img src="Example.gif" />
</div>                                        </div>                                       </div>



3.АТРИБУТИ НА ТАГА ЗА ИЗОБРАЖЕНИЕ

Атрибутите на тага за изображение не са абсолютно задължителни - и да не ги използвате изображението ви ще се вижда на екрана. Но за някои от атрибутите е препоръчително да бъдат въвеждани, тъй като това ще подобри качеството на вашия HTML-документ.

1. Атрибутите width и height задават съответно ширина и височина на изображението в пиксели.

Въвеждането на тези атрибути указва на браузъра точно колко място да отдели за изображението, вследствие на което страницата се зарежда по-бързо, а бързината на зареждане на един HTML-документ е от голямо значение за посетителите на страницата. Препоръчително е винаги да задавате ширина и височина на изображенията си.


2. Атрибута alt задава алтернативно название на изображението.

Понякога, въпреки, че страницата е заредена, изображенията не се появяват. В тези случаи на мястото, където трябва да е вашето изображение, ще се появи празно рамкирано пространство. За да разберат посетителите на страницата какво съдържа изображението се използва атрибута alt="Произволно описание на изображението". Това, което напишете между кавичките, ще се появи на мястото на изображението ви, ако то не се зареди. Така посетителите ще научат какво представлява изображението, макар че няма да го видят. Препоръчително е винаги да използвате този атрибут alt  и по още една причина - търсачките индексират текста, въведен като обяснение на графиките с атрибута alt, така че това е още един начин за рекламиране и популяризиране на страницата ви.

Ако комбинираме горните атрибути, ще получим следния код:

<img src="Example.gif" width="ширината на изображението в пиксели, примерно 90" height="височината на изображението в пиксели, примерно 200" alt="Описание на изображението" />


В случай, че ползвате Internet Explorer, ще можете да видите алтернативния си текст дори и изображението да се е заредило - отидете с мишката върху него и я оставете неподвижна за няколко секунди - алтернативния текст ще се появи в малък отделен прозорец.

3. Атрибута border задава рамка около изображението в пиксели.

Ако не използвате този атрибут, около вашето изображение по подразбиране няма да се появи никаква рамка. Но това се отнася само за изображения, които не са хипервръзки! Ако едно изображение е използвано като връзка, тогава около него автоматично се появява рамка с цвета, който сте задали на хипервръзките (по подразбиране е син). В такъв случай, за да премахнете тази рамка, трябва да въведете атрибута border със стойност 0: border="0".

Ако желаете да зададете рамка на изображението си например 8 пиксела трябва да напишете:

<img src="Example.gif" border="8" />

В браузера изображението ще изглежда така:



!ВНИМАНИЕ: Атрибута border на тага img е изваден от стадратите на езика и не се поддържа от XHTML 1.0 Strict DTD, макар че браузерите ще продължат да го поддържат. На негово място е препоръчително да се използват стилове (styles). За подробности погледнете CSS справочника.

4.ПОДРАВНЯВАНЕ НА ИЗОБРАЖЕНИЕ СПРЯМО ТЕКСТ

1. Ако вкарате кода за показване на изображение и започнете да пишете текст веднага след него, без да изписвате тага за преминаване на друг ред или какъвто и да е друг таг, тогава на екрана текста ще започне да "тече" от най-долната част на изображението.

Сега ще научите как да правите така, че текста да "обтича" изображението.

Този ефект се постига чрез атрибута align, който трябва да се вкара в тага img и да му се зададе някаква стойност.

- Например ако зададем на атрибута align стойност left, кода заедно с текста ще изглежда така:

<img src="Example.gif" width="200" height="90" alt="Описание на изображението" align="left" />
текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст

 В браузера се вижда, че изображението ще е разположено в лявата част на страницата, а текста ще го обтича отдясно:




текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст

Същия ефект се постига и когато се зададе на align стойност right, само че в този случай изображението е изместено в десния край на екрана, а текста го "обтича" отляво.

- Когато align="top" първия ред от текста се показва подравнен с горната част на изображението, а останалата част от текста - под изображението.

- Когато align="middle" първия ред от текста се показва в средата на изображението, а останалата част от текста - под изображението.

- Когато align="bottom" ефекта е като този по подразбиране - текста започва да тече в долната чат на изображението.

!ВНИМАНИЕ: Атрибута align на тага img е изваден от стадратите на езика и не се поддържа от XHTML, макар че браузерите ще продължат да го поддържат.

2. Ако сте задали на атрибута align стойност left или right, така че текста да "обтича" изображението, може да поискате да оставите по-голямо от подразбиращото се разстояние между изображението и текста. Това се прави с атрибутите за задаване на свободно пространство около изображението. Атрибута hspace задава свободно пространство отляво и отдясно на изображението, а атрибута vspace - отгоре и отдолу. Стойностите на двата атрибута са в пиксели.

Например ако сте задали align="left и искате да добавите 10 пиксела свободно пространство отгоре и отдолу и 80 пиксела отляво и отдясно, трябва да напишете:

<img src="Example.gif" width="200" height="90" alt="Описание на изображението" align="left" vspace="10" hspace="80" />

Ефекта в браузера ще е следния:

       текст текст текст теекст текст текст 
       тексттексттексттексттексттексттекстт
       тексттексттексттексттексттексттекстт
       тексттексттексттексттексттексттекстт
       тексттексттексттексттексттексттекстт
       тексттексттексттексттексттексттекстт       тексттексттексттексттексттексттексттексттексттексттексттексттексттексттекст

!ВНИМАНИЕ: Атрибутите hspace и vspace на тага img са извадени от стадратите на езика и не се поддържат от XHTML, макар че браузерите ще продължат да ги поддържат.

3. Понякога, докато текста "тече" покрай изображението, може да пожелаете той да се прекъсне и да продължи след края на изображението. Това се постига с атрибута clear, който се вмъква в тага <br>:

Атрибута clear може да приема следните стойности:

- left - указва текста да продължи едва когато е свободно лявото пространство на страницата (когато отляво няма никакво изображение)

- right - указва текста да продължи едва когато е свободно дясното пространство на страницата (когато отдясно няма никакво изображение)

- all - указва текста да продължи едва когато е свободно пространството и отляво и отдясно на страницата (когато и отляво и отдясно няма изображение)

<br clear=”left”>
<br clear=”right”>
<br clear=”all”>

ПРИМЕР:

текст текст текст текст текст текст 
текст текст текст текст текст текст
текст текст текст текст текст текст
<br clean="all">



тексттекст текст текст текст текст текст текст текст текст текст
тексттекст текст текст текст текст текст текст текст текст текст






5.ИЗПОЛЗВАНЕ НА ИЗОБРАЖЕНИЕ КАТО ХИПЕРВРЪЗКА

В урока за хипервръзките беше показан кода, чрез който изображенията могат да се използват като хипервръзки. Тук той е представен по-подробно.

Нека да направим нашето изображение връзка към Yahoo. Кода е следния:

<a href="http://www.yahoo.com"><img src="Example.gif" width="200" height="90" alt="Описание на изображението"></a>

Когато правим от изображението хипервръзка около него винаги автоматично се появява рамка:



За да премахнем синята рамка, която се появява около изображението когато то е хиперлинк, трябва в тага img да вкараме атрибута border и да му зададем стойност 0. Ако желаем връзката да се отваря в нов прозорец трябва да добавим към тага a атрибута target и да му зададем стойност _blank:

<a href="http://www.yahoo.com" target="_blank"><img src="Example.gif" width="200" height="90" alt="Описание на изображението" border="0"></a>