ana sayfa : araştırma : uzaktan web tasarımı : html formlarının temelleri [ 4 / 5 ] 

GERİ

HTML FORMLARININ TEMELLERİ

 

Formlar HTML kodları içinde tanımlanırlar, CGI içinde değil. CGI ise formlardan alınan girişleri işlemeyi basitleştirir. Bir form oluşturmak için <FORM> imini ve bununla ilişkili olan <INPUT>, <SELECT> ve <TEXTAREA> imlerini kullanabilirsiniz. Basit bir form en azından tek bir butona sahip olmalıdır. Buna rağmen formların çoğunluğu daha fazla öğe içerirler. Bu bölüm kısa bir şekilde <FORM>, <INPUT>, <SELECT> ve <TEXTAREA> imlerini anlatmayı planlamaktadır. Tabi ki bu imlerle ilişkili özelliklere de yer verilecektir.

 

<Form> İmi

 

Tüm HTML formları <FORM> imiyle başlar ve </FORM> imiyle biterler. <FORM> iminin çok sık kullanılan <METHOD> ve <ACTION> özellikleri vardır. Nadiren de olsa kullanılan <ENCTYPE> özelliği vardır ki bu kaynaktaki örneklerde karşılaşacaksınız.

METHOD özelliği web sunucuya verinin CGI programcığına nasıl yollanacağını söyler. METHOD özelliğinin değerleri GET ve POST’tur. Çoğunlukla POST değeri atanır METHOD özelliğine. POST yöntemi veriyi URL olarak kodlar ama standart giriş yoluyla yollar.

ACTION özelliğinin değeri form onaylandıktan (submit edildikten) sonra hangi olayın yapılacağını sunucuya söyler. Formun onaylanması demek, sayfa görüntülendikten sonra okuyucunun submit butonuna tıklaması ya da bu buton aktifken enter tuşuna basmasını ifade eder. Bu işlemden sonra veri URL olarak kodlanır ve GET ya da POST metodları kullanılarak sunucuya yollanır. Sunucu veriyi alır ve ACTION özelliğinin değerini kontrol eder.

ACTION özelliği değer olarak herhangi bir geçerli URL’ye sahip olabilir. Bizim amaçlarımız için bu değer daima CGI programcıklarımızın yeri olacaktır. Örneğin geri besleme formu için feedback.pl adında bir dosyayı çağıralım. Eğer bu dosya sunucunun cgi-bin klasöründe yer alıyorsa ACTION özelliği /cgi-bin/feedback.pl şeklinde olmalıdır. <INPUT>, <SELECT>, ve <TEXTAREA> gibi formun diğer öğeleri <FORM> ve </FORM> imleri  arasında olmalıdır. Geri besleme formu için örnek olarak formun başına <FORM METHOD=POST ACTION= "/cgi-bin/feedback.pl"> ifadesi yazılmalıdır.

 

<Input> İmi

 

<INPUT> imleri <FORM> ve  </FORM> imleri arasına yerleştirilmelidir ve formun en çok işe yarar elemanlarıdır. <INPUT> imiyle birlikte kontrol kutuları, radyo düğmeleri, tek-satır giriş alanları, gönder ve temizle puş butonları yaratılabilir. <INPUT> imi </ INPUT> şeklinde bir kapatma imine sahip değildir ve  Tablo 5 ’de gösterildiği gibi altı tane özelliğe sahiptir.

Birçok görsel eleman gibi bu HTML imleri de açıklamaktan daha çok gösterilir.  <INPUT> elemanının her tipiyle bir örnek yaratılmıştır. Bu <INPUT> elemanlarının Netscape gözatıcısında nasıl göründüğünü gösterir.

Tablo 5 - <INPUT> İminin Özellikleri

 

Özellik

Değerleri

TYPE

Bu özellik formun hangi INPUT alanı kullanacağını belirler. Muhtemel değerler aşağıda verilmiştir.

text: tek satırlı metin giriş alanı yaratır. <INPUT> imi için bu varsayılan değerdir.

password:girilen tüm karakterlerin “*” olarak gözükmesi dışında metin kutusuna benzer..

hidden: kullanıcıya görünmeyen bir alan yaratır. Bu kullanıcının görmesi ya da değişrimesi gerekmeyen bilgilerin geçirilmesinde kullanılır.

checkbox: işaretlenebilen ya da işareti kaldırılabilen tekli bir işaret kutusu yaratmak için kullanılır.

radio: açık ya da kapalı seçenek sunması bakımından kontrol kutusuna benzer. Yine de NAME özelliğinde birkaçtane radyo düğmesi olduğunda bunlardan sadece bir tanesi seçilebilir.

submit: tıklandığında formu okey’leyen bir teslim etme push butonu yaratır.

reset: tıklandığında formdaki tüm öğelerin o an geçerli değerlerini silen bir puş buton yaratır.

NAME

İsim/değer çifti için isim olarak sunucuya bu özellik için değer yollar. Örnek olarak tek satırlı bir metin kutusunda kullanıcı robertm@ deltanet.com şeklinde bir bilgiyi “email” ile isim olarak yazarsa sunucu bu bilgiyi “email=robertm@deltanet.com olarak alır.  Bir grup radyo düğmesi yarattığınızda tüm butonlar NAME özelliği olarak aynı değere sahip olmalıdır.

VALUE

Metin ve şifre öğeleri için bu özellik bir ilk değer tutar. Radyo düğmeleri ve jontrol kutuları için seçildiğinde sunucuya yollamak üzere bir başlangıç değeri tutar. Eğer VALUE özelliği kontrol kutuları ve radyo düğmeleri için belirtilmezse seçili olanlar için sunucu “on” değeri alır. Submit ve reset öğeleri için butonların etiketleri için bir değer atamak için kullanılır. Örnek olarak VALUE özelliği “Gönder” yapılmış bir submit butonunun üzerindeki yazı “Gönder”olur.

CHECKED

Bu özellik bir değer taşımaz ve sadece kontrol kutuları ve radyo düğmeleri için başlangıçta işaretli olmalarını sağlar.

SIZE

Bu özellik yalnızca metin ve şifre kutuları için kullanılır ve karakter bazında kutuların fiziksel büyüklüklerini tanımlar. Varsayılan değer 20 karakterdir.

MAXLENGTH

Bu özellik sadece metin ve şifre kutuları için kullanılır. İnput elemanının makzimum alacağı karakter sayısını tanımlar.

 

Liste 5 - Input Elemanlarının Örnekleri

 

<FORM METHOD=POST ACTION="/cgi-bin/example.pl">

Single Line Entry Field: <INPUT TYPE=text NAME=text VALUE="Default

value" SIZE=30>

<P>Password Entry Field: <INPUT TYPE=password NAME=password SIZE=10

MAXLENGTH=8>

<P>Check Box: <INPUT TYPE=checkbox NAME=checkbox CHECKED>

<P>Radio Buttons - Yes <INPUT TYPE=radio NAME=radio VALUE=yes> No

<INPUT TYPE=radio NAME=radio VALUE=no>

<P>Submit Pushbutton: <INPUT TYPE=submit VALUE=Send>

<P>Reset Pushbutton: <INPUT TYPE=reset VALUE=Reset>

</FORM>

 

 

Bu bölümde oluşturulan geri besleme formu birkaç tane giriş alanı kullanır, fakat onların hepsi de metin tipindedir. Bir de aşağıdaki örneğe bakalım:
<B>Name-Address</B><BR><INPUT NAME="name" SIZE=42>

<P><B>E-mail Address</B><BR><INPUT NAME="email" SIZE=42>

<P><INPUT TYPE="submit" VALUE="Send">

ilk iki satır 42-karakterlik isim ve e-mail adresi için tek satırlı metin kutusu alanları yaratmaktadır. Son satır ise submit puş butonu yaratmaktadır. Etiket olarak ta “Send” değerini vermektedir. Çünkü <INPUT> imi öğeleri etiketler içermezler bu kod isim ve e-mail alanları için metin etiketler içermektedir.

Şekil 2 - <INPUT> İminin Elemanları

<Select> İmi

 

<SELECT> imi kaydırılabilir ya da aşağıya-açılır liste kutuları yaratmaya izin verir. Kaydırılabilir bir liste çeşitli öğelerin bir listesidir. Aşağı-yukarı kaydırarak bir ya da çoklu seçim yapılabilir. Aşağıya-açılır liste de kaydırılabilir listey benzer fakat üzerine tıklayıp aşağıy doğru açmadıkça yalnızca bir değer gösterir. Aşağıya-açılır listeden yalnızca bir öğe seçilebilir.

<SELECT> imi  Tablo 6 ’da tanımlandığı gibi üç özelliğe sahiptir. Bunlar: NAME, SIZE ve MULTIPLE’dır.

 

Tablo 6 - <SELECT> İminin Özellikleri

 

Özellik

Değerleri

NAME

Bu özellik <INPUT> iminin NAME özelliğine benzer. Bu özellik için verilen değer isim/değer çifti için isim olarak sunucuya yollanır.

SIZE

Bu özellik liste içinde kaç tane seçenek olacağını gösterir. Eğer 1’e ayarlanırsa liste aşağıya açılır liste kutusu gibi olur. Diğer bir ifadeyle kaydırılabilir liste kutusunda kaç tane seçenek görüneceği SIZE ile tanımlanır. Eğe MULTIPLE özelliği hazırsa SIZE özelliği 1 bile olsa liste kaydırılabilir bir liste kutusu olur.

MULTIPLE

Bu özellik bir değere sahip değildir. Eğer kullanılmışsa çoklu seçenek seçimine izin verir.

 

<SELECT> imi başlangıç ve bitiş imlerinin ikisine de sahiptir. Yani <SELECT> ile açılır ve </SELECT> ile kapanır. Bu imlerle beraber <OPTION> imini kullanarak liste seçenekleri tanımlanabilir. <OPTION> imi kapatma imi almaz ve sadece OPTION özelliğine sahiptir. Bu özellik geçerli formda ilişkili seçeneği seçili yapar. Örnek olarak Liste 6 , aşağıya açılır liste kutusunun HTML kodlarını, Liste 7 kaydırılabilir liste kutusu kodlarını ve Şekil 3 ise <SELECT> iminin Netscape görüntüsünü ifade etmektedir.

Liste 6 - <SELECT> Aşağıya Açılır Liste Örneği

 

 

<FORM METHOD=POST ACTION="/cgi-bin/example.pl">

<SELECT NAME="number" SIZE=1>

<OPTION>one

<OPTION>two

<OPTION>three

</SELECT>

</FORM>

 

 

Liste 7 - <SELECT> Kaydırılabilir Liste Örneği

 

 

<FORM METHOD=POST ACTION="/cgi-bin/example.pl">

<SELECT NAME="flavor" SIZE=3 MULTIPLE>

<OPTION>Chocolate

<OPTION SELECTED>Vanilla

<OPTION>Strawberry

<OPTION>Chocolate Chip

<OPTION>French Vanilla

<OPTION>Peach

</SELECT>

</FORM>

 

 

Şekil 3 - <SELECT> İmi Örnekleri

 

Geri besleme formu herhangi bir <SELECT> imi içermez.