You are on page 1of 49

проф. д.н.

ДАНИЕЛА БОРИСОВА
1. Въведение в уеб-програмирането – езици за уеб програмиране,
синтаксис на езика HTML
2. BOX модел. CSS – синтаксис и деклариране на стилове. Деклариране и
използване на класове и селектори
3. Форматиране на текст и списъци
4. Използване на цветове и изображения
5. Таблици – тагове и атрибути
6. Формуляри – елементи, методи за изпращане
7. Използване на рамки и мултимедия, нови елементи в HTML5,
различия между HTML и XHTML
8. Създаване на темплейти чрез CSS и HTML
9. Въведение в JavaScript. Синтаксис, типове променливи и оператори
10. JavaScript – условия, функции, регулярни изрази, обекти за дата, час,
година
Д. Борисова
 Създаване на формуляри, методи за изпращане на информация
 Eлемент <input>
 Елемент <textarea>
 Елементи <select> и <option>
 Елемен<button>
 Нови input types в HTML5
 Изпращане на информация от формуляр към електронна поща

Д. Борисова
 Структурата на всеки формуляр започва с отварящ таг <form> и
завършва със затварящ таг </form>. Цялото съдържание на
формуляра е разположено между тези два тага.
<form>
елементи на формуляра
</form>
 Някои от задължителните атрибути са name, action и method.
Атрибутът name задава името на формуляра. Атрибутът action
определя къде да се изпрати формуляра с данни, когато се подава.
Има 2 възможни начина за изпращане на данни от формуляр:
 чрез задаване на абсолютен URL – препращане към друг сайт (като
action="http://www.example.com/example.htm");
 чрез задаване на относителен URL – указване на файла (като
action="example.htm")
Д. Борисова
 Още една подробност около изпращането на формулярите е
указването на файла, който ще обработва информацията, както и
начина на изпращане на информацията. За целта се задава
съответно action="име-на-обработващ-файл" и подходящ метод за
изпращане method="get" или method="post".
 метод get – чрез него клиентът прави заявка за ресурс зададен чрез
URL. Могат да се изпращат и ограничено количество данни
закодирани директно в самия URL (отделени чрез въпросителен
знак).
 метод post – позволява на клиента да изпрати данни на сървъра.
Тази заявка обикновено се генерира при изпращането на формуляра,
като данните могат да бъдат: текст от формуляра, файл от клиентския
компютър и други.

Д. Борисова
GET се използва за заявяване на данни от определен ресурс.
 GET заявките могат да бъдат кеширани

 GET заявките остават в историята на браузъра

 GET заявките могат да бъдат маркирани (bookmarked)

 GET заявки никога не трябва да се използват при работа с


чувствителни данни
 GET заявките имат ограничения на дължината

 GET заявките се използват само за заявка на данни (без


промяна).

Д. Борисова
POST се използва за изпращане на данни към сървър за създаване /
актуализиране на ресурс. рс.
 POST заявките никога не се кешират

 POST заявките не остават в историята на браузъра

 POST заявките не могат да бъдат маркирани

 POST заявките нямат ограничения за дължината на данните

Д. Борисова
GET POST
BACK Harmless Data will be re-submitted (the browser
button/Reload should alert the user that the data are
about to be re-submitted)
Bookmarked Can be bookmarked Cannot be bookmarked
Cached Can be cached Not cached
Encoding type application/x-www-form-urlencoded application/x-www-form-urlencoded or
multipart/form-data. Use multipart
encoding for binary data
History Parameters remain in browser history Parameters are not saved in browser
history
Restrictions on Yes, when sending data, the GET method adds the No restrictions
data length data to the URL; and the length of a URL is limited
(maximum URL length is 2048 characters)
Restrictions on Only ASCII characters allowed No restrictions. Binary data is also allowed
data type
Security GET is less secure compared to POST because data POST is a little safer than GET because
sent is part of the URL the parameters are not stored in browser
Never use GET when sending passwords or other history or in web server logs
sensitive information!
Д. Борисова
Visibility Data is visible to everyone in the URL Data is not displayed in the URL
HTTP Methods: GET; POST; PUT; HEAD; DELETE; PATCH; OPTIONS
 PUT се използва за изпращане на данни към сървър за създаване /
обновяване на ресурс.
 Разликата между POST и PUT е, че PUT заявките са идемпотентни
(idempotent). Това означава, че извикването на една и съща PUT
заявка много пъти винаги ще доведе до същия резултат. За
разлика от това, извикването на заявка POST многократно има
странични ефекти от създаването на един и същ ресурс.
 PUT позволява само пълна подмяна на документ. За разлика от
PUT, PATCH не е идемпотентен, което означава, че
последователните идентични заявки за пластири могат да имат
различни ефекти. Възможно е обаче да се подават PATCH заявки
по такъв начин, че да бъдат идемпотентни.
Д. Борисова
 HEAD е почти идентичен с GET, но без тялото на отговор.
 Aко GET/потребителите връщат списък с потребители, тогава
HEAD/потребителите ще направят същото искане, но няма да
върнат списъка с потребители.
 HEAD заявките са полезни за проверка на това, което GET заявка
ще се върне, преди да се направи GET заявка – като преди
изтегляне на голям файл или тяло на отговор.
 Методът DELETE изтрива посочения ресурс.
 Методът OPTIONS описва комуникационните опции за целевия
ресурс.

Д. Борисова
 Атрибутът accept-charset определя кодовата таблица, която трябва да
се използва при изпращането на формуляра. Първите 128 символа на
ISO-8859-1 са оригиналните ASCII символи (числата 0-9, главните и
малките букви на английската азбука, както и някои специални
знаци). Останалата част на ISO-8859-1 (кодове 160-255) съдържа
символите, използвани в западноевропейските страни и някои често
използвани специални символи. ISO-8859-5, Windows-1251 и UTF-8
са често използвани кодови таблици за латиница и кирилица.
 Ето един пример с явно задаване кодировката на формуляра:

<form name="ff1" action="demo_form.asp" method="get"


accept-charset="ISO-8859-1">
………………
</form>

Д. Борисова
 Елементите на формуляра, чрез които потребителят въвежда
съотвентата информация са следните:

Д. Борисова
 Почти всички елементи на формуляра се въвеждат чрез тага
<input>, който може да съдържа няколко атрибута, най-важните от
които са: атрибута type, определящ неговия вид и атрибута name,
задаващ неговото име.
 Елементът <input> зависи от вида на използвания атрибут,
например елементът <input> може да бъде от тип:
 text field,

 checkbox,

 password,

 radio button или

 submit button.

Д. Борисова
Стойностите на атрибута type, задаващи типа на елемента са:
 button – резултатът е бутон с име дефинирано от атрибута name="..."
и стойност дефинирана от атрибута value ="...".
 checkbox – резултатът е отметка, която може да има две стойности:
маркирана и немаркирана. Изпраща се стойността на атрибута value.
 image – създава бутон от външно изображение.
 file – резултатът е бутон, чрез който потребителя може да избере
файл от локалния компютър.
 hidden – невидимо поле, което се използва най-често за прехвърляне
на информация между две сесии. Името на полето се задава с
атрибута name, а стойността – с value.

Д. Борисова
 password – създава текстово поле, в което може да се въвежда
произволна информация за парола. Разликата е, че въведената
информация се визуализира като звездички.
 radio – резултатът е т. нар. радио-бутон. Mогат да се групират чрез
атрибута name. Tова става когато този атрибут е еднакъв за групата. В
една група може да има само един маркиран радио-бутон.
 reset – резултатът е бутон, при натискането на който се изчиства
цялата информация въведена във формуляра. Ако не е определена
стойност на атрибута value, стойноста на бутона е reset.
 submit – резултатът е бутон, при натискането на който се изпраща
формуляра.
 text – резултатът е текстово поле от един ред, в което може да се
въвежда произволна информация.
Д. Борисова
 Дефинирането на едноредово поле за въвеждане на текст от
потребителя се реализира чрез използването на тага <input> като
атрубита type има стойност text.
 Обикновено текстовите полета се предхождат от описателен текст,
който указва какво да се въведе в полето:
<form>
Име: <input type="text" name="name"> <br>
Фамилия: <input type="text" name="family"> <br>
E-mail: <input type="text" name="mail">
</form>

Д. Борисова
 Дължината на текстовото поле се определя чрез атрибута size. Ако не
се зададе дължина на текстовото поле, по подразбиране дължината е
20 знака.
 Атрибутът maxlength ограничава максималния брой символи, които
потребителят може да въведе за дадено поле.

<form action="">
Лична информация:<br>
Име: <input type="text" size="36"
maxlength="30"><br>
Фамилия: <input type="text" size="30"><br>
E-mail: <input type="text" size="35">
</form>

Д. Борисова
 HTML позволява да бъдат създавани два вида текстови полета – за
обикновен текст и текстово поле за пароли. Основната разлика между
двата вида е, че текстовите полета за пароли не показват директно
въвежданите букви и цифри, а звездички или други знаци вместо тях.
За създаването на едноредово поле за въвеждане на парола
използваме password като стойност на атрибута type:
<form>
Парола: <input type="password" name="pwd">
</form>

Д. Борисова
 Радио-бутоните дават възможност на потребителя да избере само
един от определен брой възможности за избор. Радио-бутоните се
реализират с тага <input> и стойност radio на атрибута type:
<p> Обичам да карам: </p>
<form>
<input type="radio" name="vehicle" value="bike"> Велосипед <br>
<input type="radio" name="vehicle" value= "car"> Кола <br>
<input type="radio" name="vehicle" value="airplane"> Самолет
</form>

Д. Борисова
 Ако е необходимо радио-бутоните да са предварително маркирани
при първоначалното отваряне на страницата, може да се използва
атрибута checked в тага <input> .

<form>
<input type="radio" name="vehicle" value="bike"> Велосипед <br>
<input type="radio" name="vehicle" value="car" checked> Кола
<br>
<input type="radio" name="vehicle" value="airplane"> Самолет
</form>

Д. Борисова
 Полетата за отметка са аналогични на радио-бутоните, тъй като и при
тях потребителят не въвежда информация, а отбелязва избраната от
него възможност. Използването на checkbox позволява на
потребителя да избере нула или няколко възможни избора
<p> Обичам да карам: </p>
<form>
<input type="checkbox" name="vehicle" value="bike"> Велосипед<br>
<input type="checkbox" name="vehicle" value="car"> Кола <br>
<input type="checkbox" name="vehicle" value="airplane"> Самолет
</form>

Д. Борисова
 Стойността на атрибута value се изпраща към уеб сървъра при
подаването на формуляра, ако елементът е бил избран. Използваме
атрибута checked, когато искаме определено поле да е маркирано при
отваряне на страницата
<p> Мога да карам: </p>
<form>
<input type="checkbox" name="vehicle" value="bike" checked="yes">
Велосипед <br>
<input type="checkbox" name="vehicle" value="car"> Кола <br>
<input type="checkbox" name="vehicle" value="airplane"> Самолет
</form>

Д. Борисова
 Бутонът submit се използва за изпращане на данни от формуляри
към сървър. Данните се изпращат към файла, зададен в атрибута
action на формуляра:
<form name="input" action="html_form_action.asp" method="get">
<table summary="" border="0">
<tr>
<td align="right">Потребителско име:</td>
<td><input type="text" name="user"></td>
</tr>
<tr>
<td align="right">Парола: </td>
<td><input type="password" name="pwd"></td>
</tr>
<tr>
<td align="right"></td>
<td><input type="submit" value="Submit"></td>
</tr>
</table>
</form>

Д. Борисова
 Бутоните от типа reset се използват за изчистване на цялата въведена
информация във формуляра.
<form>
име <input type ="text" name="Text1" size="20"><br>
<input type="radio" name="sex" value="bike"> мъж
<input type="radio" name="sex" value="car"> жена <br>
<input type ="submit" value="изпрати" name="Button1">
<input type ="reset" value="изчисти" name="Button2">
</form>

Д. Борисова
 Няколко различни начина за форматиране на бутони от типа submit
и reset са показани в следния код:
<form>
<h3 style="color: #990000"> Бутони с цветове и изображения</h3>
<input type="submit" value="Submit" name="B1">
<input type="submit" value="Submit" name="B1a" style="color:
#FF6600; background: #CCFF66">
<input type="reset" value="Reset" name="B2">
<input type="reset" value="Reset" name="B2a" style="background:
#FF3399">
<input type="image" src="go.gif" alt="Submit" width="25"
height="25">
</form>

Д. Борисова
 За прехвърлянето на файлове може да се използва интерфейс, който
позволява на потребителя да избере локален файл и да го качи на уеб
сървър. Областта за избор на файл има две части – едната
представлява празно текстово поле, а друга е бутон Browse, който
отваря Window explorer на компютъра на потребителя. Това
позволява бързо намиране на локалните файлове и автоматично
попълване на пътя до файла в текстовото поле.
<form name="myWebForm" action="mailto:youremail@email.com"
method="post">
<input type="file" name="uploadField" />
</form>

Д. Борисова
 Прехвърлянето на файлове в Иинтернет-пространството е сложен
процес и трябва да включва много нива на сигурност. HTML сам
не може да гарантира безопасен и сигурен файлов трансфер, но
може да предложи първа стъпка на защита.
 С помощта на MAX_FILE_SIZE, скритото поле може да ограничи
размера на файловете, които се прехвърлят. Това се постига като
атрибута name се използва със стойността MAX_FILE_SIZE, а в
атрибута value се задава максимален размер на файла:
<form name="myWebForm" action="mailto:youremail@email.com"
method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="500" />
<input type="file" name="uploadField" />
</form>

Д. Борисова
Д. Борисова
 Многоредовото текстово поле се дефинира от двойката тагове
<textarea> и </textarea>.
 Ширината на текстовото поле се определя в брой символи чрез
атрибута cols, височината се определя в брой редове чрез атрибута
rows, а атрибутът name задава името на полето:
<form>
<p>Моля, въведете вашия коментар:</p>
<textarea name="coment" rows="5" cols="40"> </textarea>
</form>

Д. Борисова
 Менюта от вида падащи списъци се създават с тага <select>, като
отделните елементи на това меню се задават от тага <option>.
<p> Обичам да карам: </p>
<form>
<select name="vehicle">
<option value="bike">велосипед</option>
<option value="Jeep">джип</option>
<option value="sport_car">спортна кола</option>
<option value="airplane">самолет</option>
</select>
</form>

Д. Борисова
 Тагът <optgroup> се използва за групиране на свързани елементи в
падащи списъци. Възможните атрибути на тага optgroup са disabled и
label. Атрибутът label определя етикет за избор на група.
<select>
<optgroup label="French Cars">
<option value="citroen">Citroen</option>
<option value="renault">Renault</option>
</optgroup>
<optgroup label="Italian Cars">
<option value="ferrari">Ferrari</option>
<option value="lamborghini ">Lamborghini</option>
</optgroup>
</select>

Д. Борисова
 Атрибутът disabled забранява избор на групирани сродни елементи.
<select>
<optgroup label="French Cars">
<option value="citroen">Citroen</option>
<option value="renault">Renault</option>
</optgroup>
<optgroup label="Italian Cars" disabled>
<option value="ferrari">Ferrari</option>
<option value="lamborghini">Lamborghini</option>
</optgroup>
</select>

Д. Борисова
 Атрибутът size определя броя на видимите елементи.

<select name="cars" size="3">


<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>

Д. Борисова
 Атрибутът multiple позволява на потребителя да избере повече от
един елемент.
<select name="cars" size="4" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>

Д. Борисова
 Тагът <fieldset> се използва за групиране на свързани елементи
във формуляр. Чрез тага <fieldset> е възможно да се очертае поле
около свързаните елементи.
 Тагът
<form><legend> определя заглавие на елемента <fieldset>
<fieldset>
<legend> Лични данни: </legend>
Име: <input type="text" size="30"> <br>
Фамилия: <input type="text" size="30"> <br>
Дата на раждане: <input type="text" size="10">
</fieldset>
</form>

Д. Борисова
 Тагът <button> се използва за определяне на бутон за кликане.

<button type="button" onclick="alert('Hello World!')">


Click Me! </button>

Д. Борисова
 Тагът < progress> се използва за визуализиране напредъка на
изпълнението на задача:

Test progress:
<progress value="22" max="100"></progress>
<p><strong>Note:</strong> The progress tag is not
supported in Internet Explorer 9 and earlier
versions.</p>

Д. Борисова
HTML5 добавя няколко нови input types:
color date datetime-local
email month number
range search tel
time url week

<input type="color"> се използва за поле за въвеждане, коeто


трябва да съдържа цвят.
В зависимост от браузъра в полето за въвеждане може да се
появи избор на цвят.

Д. Борисова
<form action="xxx.xxx">
<input type="color" name="favcolor" value="#ff0000">
<input type="submit">
</form>

Д. Борисова
<form action="xxx.xxx">
Birthday:
<input type="date" name="bday">
<input type="submit">
</form>

Д. Борисова
 Използване на input type="number"

<form action="xxx.xxx">
Quantity (between 1 and 5):
<input type="number" name="quantity" min="1" max="5">
<input type="submit">
</form>

Д. Борисова
 Използване на input type="email"
<h3>Show an e-mail field (allows only one email address):</h3>
<form action="/action_page.php"> E-mail:
<input type="email" name="emailaddress"> <input type="submit">
</form>
<h3>Show an e-mail field (allows multiple email addresses). Separate
each email address with a comma:</h3>
<form action="/action_page.php"> E-mails:
<input type="email" name="emailaddress" multiple><input type="submit">
</form>

Д. Борисова
 Използване на input type="week"
<p>Depending on browser support:<br>
A date picker can pop-up when you enter the input field.</p>
<form action="/action_page.php">
Select a week: <input type="week" name="year_week">
<input type="submit">
</form>

Not supported in Firefox, Safari or


Internet Explorer 11 and earlier
versions
Д. Борисова
 Един лесен начин за изпращане на данните от попълнения формуляр
е използването на електронната поща. Въведените данни се изпращат
не към сървър, където те да бъдат обработени, а до конкретен
получател с определен е-майл адрес:
<h3>Изпращане на e-mail до someone@example.com:</h3>
<form action="MAILTO:someone@example.com" method="post"
enctype="text/plain">
Име: <input type="text" name="name" value="your name"><br>
E-mail: <input type="text" name="mail" value="your email"><br>
Коментар: <input type="text" name="comment" value="your
comment" size="50"><br><br>
<input type="submit" value="Send">
<input type="reset" value="Reset">
</form>

Д. Борисова
Д. Борисова
 Използване свойството width за определяне ширината на input:

<style>
input {width: 100%;}
</style>
<p>A full-width input field:</p>
<form>
<label for="fname">First Name</label>
<input type="text" id="fname" name="fname"><br>
Last name <input type="text" id="lname" name="lname">
</form>

Д. Борисова
 Използване на свойството padding за добавяне на пространство в
текстовото поле.
 Когато има много input елемени един след друг, може да се добави
свойството margin за осигуряване на повече пространство извън
елементите:
<style>
input[type=text] {width: 100%; padding: 12px 20px;
margin: 8px 0;}
</style>
<p>Padded text fields:</p>
<form>
<label for="fname">First Name</label>
<input type="text" id="fname" name="fname">
<label for="lname">Last Name</label>
<input type="text" id="lname" name="lname">
</form>

Д. Борисова
 Може и да използваме на свойството border за промяна цвета на
текстовото поле.
<style>
input[type=text] {width: 90%; padding: 12px 20px;
margin: 8px 0; border: 2px solid red;
border-radius: 4px;}
</style>

Д. Борисова
 Използване на свойството background-color за добавяне на цвят в
input елементите, a свойството color за промяна цвета на тескта.
<style>
input[type=text] {width: 90%; padding: 12px 20px;
margin: 8px 0; border: none;
background-color: #3CBC8D; color: white;}
</style>

Д. Борисова

You might also like