Tegs FORM
Pārlūks | Internet Explorer | Netscape | Opera | Safari | Firefox | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Versija | 5.5 | 6.0 | 7.0 | 8.0 | 8.0 | 9.0 | 7.0 | 8.0 | 9.2 | 9.5 | 1.3 | 2.0 | 3.1 | 1.5 | 2.0 | 3.0 |
Atbalsts | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā | Jā |
HTML: | 3.2 | 4 | XHTML: | 1.0 | 1.1 |
Apraksts
Tegs <FORM> uzstāda web-lapā formu. Forma paredzēta datu apmaiņai starp lietotājiem un serveri. Formu izmantošana nav ierobežota tikai ar datu nosūtīšanu uz serveri, ar klienta puses skriptu palīdzību var saņemt piekļuvi jebkuram formas elementam, izmainīt to un pielietot pēc savas vajadzības.
Dokuments var saturēt jebkuru skaitu formu, tomēr vienlaicīgi uz serveri var tikt nosūtīta tikai viena forma. Šī iemesla dēļ formas datiem jābūt neatkarīgiem vienam no otra.
Formas nosūtīšanai uz serveri tiek izmantota poga Submit, to pašu var panākt, nospiežot taustiņu <Enter> formas robežās. Ja pogas Submit formā nav, taustiņš <Enter> imitēs tās darbību, bet tikai tādā gadījumā, ja formā sastopams tikai viens elements <INPUT>. Ja tādu elementu ir divi vai vairāk, nospiežot <Enter> nenotiks nekas.
Kad forma tiek nosūtīta uz serveri, datu vadība tiek nodota CGI-programmai, uzstādītai ar tega <FORM> parametru action. Sākotnēji pārlūks sagatavo informāciju pāra «vārds=vērtība» izskatā, kur vārds tiek noteikts ar tega <INPUT> parametru name, bet vērtību ievada lietotājs vai tā ir jau uzstādīta formas laukā pēc noklusējuma. Ja datu nosūtīšanai tiek izmantota metode GET, tad adreses rinda var izskatīties šādi .
http://www.htmlbook.ru/cgi-bin/handler.cgi? nick=%C2%E0%ED%FF+%D8%E0%EF%EE%F7%EA%E8%ED&page=5
Parametri tiek uzskaitīti pēc jautājuma zīmes, kura norādīta pēc CGI-programmas adreses un tiek savstarpēji atdalīti ar kompānijas zīmi (&). Nelatīniskie simboli tiek pārveidoti heksadecimālajā sistēmā (formā %HH, kur HH — heksadecimālais ASCII-simbola kods), atstarpe tiek aizvietota ar plusu (+).
Pieļaujams konteinera <FORM> iekšienē ievietot citus tegus, tajā pat laikā pati forma nekādi netiek attēlota web-lapā, redzami tikai tās elementi un iekļauto tegu darbības rezultāti.
Sintakse
<form action="..."> ... </form>
Parametri
- action
- CGI-programmas vai dokumenta adrese, kuri apstrādā formas datus.
- enctype
- formas informācijas MIME-tips.
- method
- HTTP protokola metode.
- name
- Formas nosaukums.
- target
- Loga vai freima nosaukums, kurā apstrādātājs izvadīs saņemto rezultātu.
Aizverošais tegs
Obligāts.
Piemērs 1. Tega <FORM> izmantošana
HTML 4.01IE 5.5IE 6IE 7Op 9.5Sa 3.1Ff 2.0Ff 3.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Tegs FORM</title>
</head>
<body>
<form action="/html/example/handler.php">
<p><b>Как по вашему мнению расшифровывается аббревиатура "ОС"?</b></p>
<p><input type="radio" name="answer" value="a1">Офицерский состав<Br>
<input type="radio" name="answer" value="a2">Операционная система<Br>
<input type="radio" name="answer" value="a3">Большой полосатый мух</p>
<p><input type="submit"></p>
</form>
</body>
</html>
Piemēra rezultāts
Tega <FORM> parametru apraksts
Parametrs ACTION
HTML: | 3.2 | 4 | XHTML: | 1.0 | 1.1 |
Apraksts
Norāda datu apstrādātāju, pie kura griežas formas dati pie to nosūtīšanas uz serveri. Kā apstrādātājs var būt CGI-programma vai HTML-dokuments, kurš iekļauj sevī servera scenārijus (piemēram, Parser). Pēc tā, kad apstrādātājs izpildījis darbības ar formas datiem, tas atgriež jaunu HTML-dokumentu.
Ja nav parametra action , tekošā lapa tiek ielādēta no jauna, atgriežot visu formas elementu vērtības pēc to noklusējuma.
Sintakse
<form action="URL">...</form>
Argumenti
Kā vērtība tiek pieņemts absolūts vai relatīvs ceļš uz failu serverī (URL).
Obligāts parametrs
Jā.
Noklusētā vērtība
Nav.
Piemērs 2. Formas apstrādātāja norādīšana
HTML 4.01IE 5.5IE 6IE 7Op 9.5Sa 3.1Ff 2.0Ff 3.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Tegs FORM, parametrs action</title>
</head>
<body>
<form action="http://www.htmlbook.ru/download/file.php">
<p>...</p>
</form>
</body>
</html>
Kā apstrādātāju var norādīt e-pasta adresi, sākot to ar atslēgvārdu mailto. Nosūtot formu, tiks palaista pasta programma, kura uzstādīta pēc noklusējuma. Drošības nolūku dēļ pārlūkā uzstādīts, ka nemanāmi nosūtīt informāciju, kura ievadīta formā, pa pastu nav iespējams. Datu korektai interpretācijai izmantojiet parametru enctype="text/plain" tegā <FORM>.
Piemērs 3. Formas datu nosūtīšana uz e-pastu
HTML 4.01IE 5.5IE 6IE 7Op 9.5Sa 3.1Ff 2.0Ff 3.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Tegs FORM, parametrs action</title>
</head>
<body>
<form action="mailto:vlad@htmlbook.ru" enctype="text/plain">
<p><input type="submit" value="Написать письмо"></p>
</form>
</body>
</html>
Parametrs ENCTYPE
HTML: | 3.2 | 4 | XHTML: | 1.0 | 1.1 |
Apraksts
Uzstāda ar formu nosūtīto datu MIME-tipu. Parasti uzstādīt parametra enctype vērtību nav nepieciešams, dati tiek pilnīgi saprasti servera pusē. Tomēr ja tiek izmantots lauks faila nosūtīšanai(INPUT type="file"), parametrs enctype jānorāda kā multipart/form-data.
Sintakse
<form enctype="MIME-tips">...</form>
Argumenti
MIME-tipa nosaukums jebkurā reģistrā. Pieļaujams vienlaikus uzstādīt vairākus nosaukumus, atdalot tos ar komatiem.
Obligāts parametrs
Nē.
Nosklusētā vērtība
application/x-www-form-urlencoded
Piemērs 4. Parametrs enctype izmantošana
HTML 4.01IE 5.5IE 6IE 7Op 9.5Sa 3.1Ff 2.0Ff 3.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Tegs FORM, parametrs enctype</title>
</head>
<body>
<form action="/cgi-bin/handler.cgi"
enctype="multipart/form-data" method="post">
<p>Загрузите файл с картинкой</p>
<p><input type="file" name="pic"></p>
</form>
</body>
</html>
Piemēra rezultāts
Parametrs METHOD
HTML: | 3.2 | 4 | XHTML: | 1.0 | 1.1 |
Apraksts
Parametrs paziņo serverim par pieprasījuma metodi.
Sintakse
<form method="get | post">...</form>
Argumenti
Parametra method vērtība nav atkarīga no reģistra. Ir divas metodes — GET un POST. Tiesa, ir arī citas metodes, bet tās pagaidām tiek maz izmantotas.
- GET
- Šī metode ir viena no izplatītākajām un paredzēta nepieciešamās informācijas saņemšanai un datu pārraidei adrešu rindā. Pāris «vārds=vērtība» šjā gadījumā tiek pievienots adresei pēc jautājuma zīmes un tiek atdalīti ar kompānijas zīmi (simbols &). Metodes GET izmantošanas ērtība ir tajā, ka adresi ar visiem parametriem var izmantot vairākkārtīgi, saglabājot to piemēram, pārlūka "Favorītos", kā arī mainīt parametru vērtības tieši adrešu rindā.
- POST
- Metode POST nosūta uz serveri pārlūka pieprasījuma datus. Tas ļauj nosūtīt lielāku datu daudzumu, nekā iespējams ar metodi GET, par cik pēdējai uzstādīts ierobežojums 4 Кб apmērā. Lieli datu daudzumi tiek izmantoti forumos, pasta dienestos, datu bāzu aizpildīšanā un citur.
Obligāts parametrs
Nē.
Noklusētā vērtība
get
Piemērs 5. Formas datu nosūtīšanas metode
HTML 4.01IE 5.5IE 6IE 7Op 9.5Sa 3.1Ff 2.0Ff 3.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Tegs FORM, parametrs method</title>
</head>
<body>
<form action="/cgi-bin/handler.cgi" method="post">
<p>...</p>
</form>
</body>
</html>
Parametrs NAME
HTML: | 3.2 | 4 | XHTML: | 1.0 | 1.1 |
Apraksts
Uzstāda formas unikālo nosaukumu. Formas nosaukums tiek izmantots, lai piekļūtu tās elementiem ar skriptu starpniecību.
Sintakse
<form name="nosaukums">...</form>
Argumenti
Kā nosaukums tiek izmantots burtu un/vai ciparu salikums. JavaScript ir jūtīgs pret reģistru, tāpēc vēršoties pie formas pēc tās nosaukuma no skriptiem, izmantojiet to pašu rakstību, ko parametrā name.
Obligāts parametrs
Nē.
Noklusētā vērtība
Nē.
Piemērs 6. Formas nosaukuma izmantošana
HTML 4.01IE 5.5IE 6IE 7Op 9.5Sa 3.1Ff 2.0Ff 3.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Tegs FORM, parametrs name</title>
<script type="text/javascript">
function validForm() {
alert("Имя " + document.forms['form1'].nick.value)
}
</script>
</head>
<body>
<form action="/cgi-bin/handler.cgi" name="form1">
<p>Имя: <input type="text" name="nick"></p>
<p><input type="button" onClick="validForm()" value="OK"></p>
</form>
</body>
</html>
Parametrs TARGET
HTML: | 3.2 | 4 | XHTML: | 1.0 | 1.1 |
Apraksts
Pēc tam, kad formas apstrādātājs saņēmis datus, tas atgriež rezultātu HTML-dokumenta izskatā. Jūs varat noteikt logu, kurā tiks ielādēta rezultējošā web-lapa. Šim nolūkam tiek izmantots parametrs target, kuram kā vērtība tiek norādīta loga vai freima nosaukums. Ja parametrs target nav uzstādīts, atgriežamais rezultāts tiks izvadīts tekošajā logā.
Sintakse
<form target="loga nosaukums">...</form>
Argumenti
Kā arguments tiek izmantots loga vai freima nosaukums, piešķirts ar parametru name. Ja noteikts neeksistējošs nosaukums, tiks atvērts jauns logs. Kā rezervēti nosaukumi tiek izmantoti sekojošie.
- _blank
- Ielādē lapu jaunā pārlūka logā.
- _self
- Ielādē lapu esošajā pārlūka logā.
- _parent
- Ielādē lapu primārajā freimā, ja freimu nav, darbojas tāpat kā _self.
- _top
- Atceļ visus freimus un ielādē lapu pilnā logā, ja freimu nav, darbojas tāpat kā _self.
Noklusētā vērtība
_self
Obligāts parametrs
Nē.
Piemērs 7. Rezultāta atvēršana jaunā logā
HTML 4.01IE 5.5IE 6IE 7Op 9.5Sa 3.1Ff 2.0Ff 3.0
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Tegs FORM, parametrs target</title>
</head>
<body>
<form action="/cgi-bin/handler.cgi" target="_blank">
...
</form>
</body>
</html>