* XHTML форми
Публикувано на 12 септември 2009 в раздел ХHTML.
Досега в разглежданите примери винаги сървърът предоставяше информация, а потребителят я четеше. Понякога обаче ни се иска да направим и обратна връзка. Формите са универсалният метод за изпращане на информация от потребител към сървър. Обикновено тази стъпка в различна посока от "еднопосочното" движение на информация не е комфортна за разработчиците. Човек свикнал да борави със статичен HTML код обикновено изпитва трудности при обработването на информация от форми. Затова на тази тема ще се спрем по-детайлно.
За изграждане на форми използваме следните тагове:
- <form> - базов таг, с който се ограждат всички елементи на формата;
- <input> - таг указващ някои от възможните полета за въвеждане на информация. Тук попадат бутони, едноредови текстови полета, избираеми полета и полета за отбелязване;
- <textarea> - многоредово текстово поле;
- <select> - така нареченото "падащо меню".
Споменатите елементи се изобразяват графично. Има съвсем минимални разлики между различните браузъри в изобразяването им. Всъщност вие сте виждали тези същите контроли за въвеждане на информация във вашата операционна система. Често разработчиците променят външния им вид чрез CSS според дизайна на сайта.
Ето и пълен списък на контролите както и кратък пример за всеки от тях:
Елемент | Пример | Изглед |
---|---|---|
input type="text" | Username:<br /> <input type="text" name="username" /> |
|
input type="password" | Password<br /> <input type="password" name="password" /> |
|
input type="button" | <input type="button" name="help" value="Help?" /> |
|
input type="submit" | <input type="submit" name="submit" value="Validate" /> |
|
input type="radio" | <input type="radio" name="agree" value="Yes" checked="checked" /> SSL on<br /> <input type="radio" name="agree" value="No" /> SSL off |
|
input type="checkbox" | <input type="checkbox" name="remember" value="remember" />Save cookie? |
|
select | Where do you want to login to?<br /> <select name="section"> <option>Admin section</option> <option>User area</option> </select> |
|
textarea | Log comment for this login:<br /> <textarea name="comment" rows="3" cols="18"></textarea> |
Ето как би изглеждала първата ни форма (която все още не прави нищо):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="bg"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>HTML Form</title> </head> <body> <form action=""> <p> Username:<br /> <input type="text" name="username" /><br /> Password:<br /> <input type="password" name="password" /><br /> <input type="checkbox" name="remember" value="remember" /> Save cookie?<br /><br /> <input type="radio" name="agree" value="Yes" checked="checked" /> SSL on<br /> <input type="radio" name="agree" value="No" /> SSL off<br /><br /> Where do you want to login to?<br /> <select name="section"> <option>Admin section</option> <option>User area</option> </select><br /><br /> Log comment for this login:<br /> <textarea name="comment" rows="3" cols="18"></textarea><br /> <input type="submit" name="submit" value="Validate" /> <input type="button" name="help" value="Help?" /> </p> </form> </body> </html>
Резултат:
В следващата статия ще покажем как можем да "прихващаме" информацията от форма и да я обработваме на сървъра.
П.П. Примерите за контроли и примерната форма са показани като картинка, а не с реалните обекти. Опитахте ли се да натиснете бутона? :)
Хах, къде е задължителния атрибут method на формата :P
Кой пък ти каза, че е задължителен? Я пусни горния код във http://validator.w3.org/
Просто по подразбиране е "get".
привет, дали мога да помоля за малко помощ относно валидацията на един сайт -http://apibg.blogspot.com
W3 валидацията ли? Много са му грешките. Отиваш на:
http://validator.w3.org/check?uri=http%3A%2F%2Fapibg.blogspot.com&charset=%28detect+automatically%29&doctype=Inline&group=0
и започваш ред по ред.
Иначе сайта си работи добре. Не е фатално, че не е валидиран.