• HTML'de form oluşturma. HTML Formları

    İnternette gezinirken çeşitli formlarla karşılaşmış olduğunuzdan kesinlikle eminim; örneğin kayıt formu, giriş formu, geri bildirim ve daha birçokları HTML formları.

    Aslında form çeşitli giriş öğelerinden oluşur: metin alanları, metin alanları, radyo düğmeleri, radyo düğmeleri, düğmeler vb.

    Ve bu makalede kesinlikle herhangi bir şeyin nasıl yaratılacağını öğreneceksiniz.

    İlk önce basit bir tane oluşturun HTML sayfası, buna kapsayıcının eklendiği yer (etiket

    ) içeriğini merkeze hizalayan. Umarım bu durumla kolayca başa çıkabilirsiniz.

    Şimdi forma bir göz atalım. Form bir etiketle başlar

    , sırasıyla bir kapanış etiketiyle biter
    . Bu etiketin oldukça arzu edilen çeşitli özellikleri vardır. Ama önce yaratalım en basit biçim etiket nitelikleriyle
    böylece her birinin amacını anlayabilirsiniz:


    Burada aşağıdaki özelliklere sahip olan formun açıklamasına başlıyoruz:

    1) Özellik " isim". Bu özelliğin değeri ad anlamına gelir HTML formları. Soru ortaya çıkıyor: bu neden gerekli? Cevap çok basit: Bir form değil, birkaç form kullanıyorsanız, o zaman bir formu diğerinden ayırmak için farklı adlar belirtmeniz gerekir. Formlara erişmek için adların kendilerine de ihtiyaç vardır; örneğin JavaScript. Size kullanmanızı tavsiye etmediğim küçük bir sır vereceğim ama dürüstlük adına size anlatacağım. Aslında formlar isim olmadan kolayca ayırt edilebilir, dolayısıyla genel olarak konuşursak formun ismine hiç gerek yoktur. Ama ben KESİNLİKLE Formlara isim vermenizi öneririm çünkü her bir formun neyden sorumlu olduğunu anlamanız daha kolay olacaktır.

    2) Özellik " aksiyon". Bu özelliğin değeri, formu işleyecek komut dosyasının yolundan sorumludur. Yani, forma veri girmek yeterli değildir, çünkü bunların yine de uygun şekilde işlenmesi gerekir ve bu sadece bunu yapmanın yolu işleyici dosyası ve özellik değerindedir " aksiyon".

    3) Özellik " yöntem". Çok popüler iki anlamdan birine sahip olabilir: " postalamak" Ve " elde etmek". Bu özellik gönderme yöntemini tanımlar. Ayrıntılara girmeyeceğim, sadece ilk yöntemin gizli veri gönderimi olduğunu, ikincisinin ise açık olduğunu söyleyeceğim. Daha da netleştirmek için iki atlamaya bakalım. adresler:

    A) http://mysite.ru/scipt/request.php

    B) http://mysite.ru/script/request.php?a=7&b=Michael

    İlk durumda, kullanıcı ne gönderildiğini görmez (yöntem " postalamak"), ve ikincisinde aslında değişkenlerin adlarını ve değerlerini görüyor (yöntem " elde etmek"). Makalenin sonunda formu iki ile göndermeyi deneyebilirsiniz. farklı yöntemler ve farklı olduklarından emin olun. Ama şimdilik şunu söyleyeceğim FAZLA daha yaygın olarak kullanılan yöntem postalamak", yani gizli gönderme.

    Bu formun açıklamasıydı ve artık forma öğeler eklemeye başlayabiliriz.

    Ekleyeceğimiz ilk şey bir metin alanıdır. Etiketli bir metin alanı ekleme veya daha doğrusu bu etiketin özelliğini kullanarak " tip"anlamıyla" metin". Ayrıca bir metin alanı oluşturmadan önce bu alanın ne olduğunu yazmanız tavsiye edilir, örneğin " Adınız". Etiketin içinde

    şu satırı yaz:

    Adınız:

    Tekrar nitelikleri sıralayalım:

    1) Özellik " tip" giriş öğesinin türünden sorumludur. bu durum, bunun normal bir metin alanı olduğunu belirttik. Aşağıdaki öğelerde bu özelliğin değerini değiştireceğiz.

    2) Özellik " isim" elemanın adından sorumludur. Burada bu alanın adının olduğunu belirtmiştik. ilk adı.

    3) Özellik " değer" bu alanın varsayılan değerinden sorumludur.

    Dedikleri gibi, yüz kez duymaktansa bir kez görmek daha iyidir, bu yüzden yazsanız iyi olur ( Ve sadece yazın ve kopyalamayın!) bu metni düzenleyicide görüntüleyin ve ardından sonucu tarayıcıda görün.

    Şimdi benzer bir alan daha oluşturalım ama sıradan karakterleri girmek için değil, şifre girmek için. Yani her şey aynı olmalı, ancak arkasına yalnızca metin gizlenmelidir yıldız işaretleri. Bu nedenle bir sonraki satıra geçme (etiket
    ), aşağıdaki kodu yazın:

    Şifreniz:

    Gördüğünüz gibi artık özelliğin değeri " tip" dır-dir " şifre". Niteliklerin geri kalanı normal metin alanıyla aynıdır.

    Bir sonraki öğe bir açılır listedir. Biraz daha karmaşık bir şekilde oluşturulmuştur, çünkü burada yalnızca bir açılır listenin oluşturulduğunu bildirmek değil, aynı zamanda bu listeye öğeler eklemek de gereklidir. Bir sonraki satıra geçerek (ayrıca bundan bahsetmeyeceğim) aşağıdakileri yazalım HTML Kodu.

    Bir seçenek seçin:

    Etiket . Bağlanmak " isim" açık, çünkü zaten birkaç kez açıkladım. Listenin öğeleri etiketi kullanılarak oluşturulur . Özellik değeri " değer"değişkenin hangi değere sahip olacağı anlamına gelir seçenek(örneğin, içinde JavaScript), yani ya seçim = 1, veya seçim = 2, veya seçim = 3. Etiket açıklamasının bitiminden hemen sonra kullanıcının göreceği şeyi açılır listeye koyun. Yine, tarayıcıya bakmak daha iyidir ve her şey sizin için hemen netleşecektir.

    Şimdi etiketini kullanarak bir metin alanı ekleyelim

    Burada yüksekliğinde bir metin alanı oluşturuyoruz. 10 dizeler (özellik değeri " satırlar") ve genişliği 15 karakterler (özellik değeri " sütunlar").

    Bu çift etiketinin içinde, varsayılan metin alanında metin belirtilir. Aslında burada söylenecek başka bir şey yok. Devam ediyoruz.

    Bir sonraki öğe radyo düğmesidir. Bir radyo düğmesi bir dizi " daireler", yalnızca birinin seçilebileceği. Radyo düğmeleri kullanılarak oluşturulur. HTML etiketi veya daha doğrusu " değerini kullanarak radyo"bağlanmak" tip". Öyle yazalım HTML Kodu:

    Birini seçin:
    seçenek 1
    seçenek 2
    Seçenek 3

    Burada "özelliğine odaklanacağım" isim", çünkü isim vermenin yanı sıra çok önemli bir özelliği daha var. OLUMSUZ bu üç radyo düğmesinin adlarını aynı yapın, sonra bağımsız hale gelecekler ve bu nedenle aynı anda birkaç seçeneği seçmek mümkün olacak. Bundan emin olmak için isimleri değiştirin ve ardından aynı anda birkaç seçeneği seçmeye çalışın, sözlerime hemen ikna olacaksınız. Bu nedenle, bir radyo düğmesi grubunun aynı nitelik değerine sahip olması gerekir " isim".bağlanmak" değer"değişkenin değeri anlamına gelir" seçim radyo(yine örneğin JavaScript). Etiket açıklamasının hemen ardından kullanıcının ilgili radyo düğmesinin yanında göreceği metin gider.

    Başka bir form öğesi radyo düğmeleridir ( onay kutusu). Etiketi kullanılarak yeniden oluşturulurlar . Aşağıdaki satırları yazalım:

    Kurallarımızı kabul ediyorsunuz:

    Burada her şeyin şeffaf olduğunu düşünüyorum o yüzden açıklamayacağım. Sadece tarayıcıda nasıl göründüğünü görmenizi tavsiye ederim. Ve eğer onay kutusu işaretlenirse değişkenin değerinin " şartlar" irade " Evet", eğer geçerli değilse, bu değişkenin değeri "", yani boş bir dize olacaktır.

    Diğer bir unsur ise dosya seçim alanıdır. Elbette sunucuya dosya yüklediniz ve bunun için sıklıkla dosya adı ekleme alanını kullanmak zorunda kaldınız. İşte zaten sıkıcı bir etiket kullanılarak oluşturulmuş bir alan . Şöyle yazalım:

    Yüklenecek dosyayı seçin:

    HTML formu bir HTML belgesinin bazı bilgileri dış dünyada önceden belirlenmiş bir noktaya gönderebildiği ve bilgilerin bir şekilde işleneceği bir araçtır.

    HTML Dersinde formlardan bahsetmek zordur. Bunun nedeni çok basit: Bir HTML formu oluşturmak, bir HTML formunun bilgi göndereceği bir "dış nokta" oluşturmaktan çok daha kolaydır. Çoğu durumda böyle bir "nokta" Pearl veya C ile yazılmış bir programdır.

    Formlar tarafından gönderilen verileri işleyen programlara genellikle CGI komut dosyaları denir. CGI kısaltması, Ortak Ağ Geçitleri Arayüzü anlamına gelir. Çoğu durumda CGI betikleri yazmak, ilgili programlama dili ve özellikleri hakkında iyi bilgi sahibi olmayı gerektirir. işletim sistemi Unix.

    Şu anda, PHP/FI dili, talimatları doğrudan HTML belgelerine gömülebilen bir miktar dağıtım almıştır (belgeler *.pht veya *.php uzantılı dosyalar olarak kaydedilir).

    HTML formları, bilgileri işleme programlarına [değişken adı]=[değişken değeri] çiftleri biçiminde iletir. Değişken isimleri verilmeli Latin harfleriyle. Değişken değerler, yalnızca sayı içerseler bile işleyiciler tarafından dize olarak değerlendirilir.

    HTML formu nasıl çalışır?

    Form bir etiketle açılır ve etiketiyle bitiyor

    . Bir HTML belgesi birden fazla form içerebilir ancak formlar birbirinin içine yerleştirilmemelidir. Etiketler de dahil olmak üzere HTML metni, kısıtlama olmaksızın formların içine yerleştirilebilir.

    Etiket

    biri gerekli olan üç özellik içerebilir. Bunlar niteliklerdir:

    Gerekli özellik. Form işleyicisinin nerede bulunduğunu belirtir.

    Formdaki verilerin işleyiciye nasıl (başka bir deyişle, Köprü Metni Aktarım Protokolü'nün hangi yöntemiyle) aktarılacağını belirtir. Geçerli değerler: METHOD=POST ve METHOD=GET . Öznitelik değeri ayarlanmamışsa, varsayılan olarak METHOD=GET varsayılır.

    HTML formundaki verilerin işleyiciye aktarılmak üzere nasıl kodlanacağını belirtir. Öznitelik değeri ayarlanmamışsa varsayılan olarak ENCTYPE=application/x-www-form-urlencoded olur.

    En basit HTML formu

    Formdan işleyiciye veri aktarma sürecini başlatmak için bir çeşit kontrol gövdesine ihtiyaç vardır. Böyle bir kontrol oluşturmak çok basittir:

    Formun içinde böyle bir satırla karşılaşan tarayıcı, ekrana Gönder yazısını içeren bir düğme çizecektir (ikinci hecede vurguyla "gönder" yazıyor, İngilizce "gönder" den), basıldığında tüm veriler form, etikette tanımlanan işleyiciye aktarılacak .

    Düğmenin başlığı, VALUE="[Label] özelliği tanıtılarak istediğiniz şekilde ayarlanabilir." (читается "вэлью" с ударением на первом слоге, от английского "значение"), например:!}

    Artık yazacak kadar bilgimiz var en basit HTMLşekli (örnek 11). Herhangi bir veri toplamayacaktır, sadece bizi bu bölümün metnine döndürecektir.

    Örnek 11

    en basit hal

    Düğme üzerine basılan yazı, gerekirse düğme tanımına NAME=[name] (İngilizce "ad"dan "name" olarak okunur) özelliği eklenerek işleyiciye aktarılabilir, örneğin:

    Böyle bir düğmeye tıkladığınızda, işleyici, diğer tüm verilerle birlikte, Let's go! değerine sahip düğme değişkenini de alacaktır. .

    Bir formda farklı adlara ve/veya değerlere sahip birden fazla gönder düğmesi bulunabilir. Dolayısıyla işleyici, kullanıcının hangi gönder düğmesine bastığına bağlı olarak farklı davranabilir.

    Bir HTML formu verileri nasıl toplar?

    Başka türde elementler de var . Her öğe öğenin adını (ve buna göre işleyiciye aktarılacak değişkenin adını) tanımlayan NAME=[name] niteliğini içermelidir. İsim verilmeli sadece latin harflerle. Çoğu öğe VALUE="[value] özelliğini içermelidir" , определяющий значение, которое будет передано обработчику под этим именем. Для элементов !} Ve ancak ilgili değişkenin değeri kullanıcı tarafından klavyeden girilebildiğinden bu öznitelik gerekli değildir.

    Temel eleman türleri :

    TÜR=metin

    Bir metin satırı girmek için bir pencere belirtir. SIZE=[sayı] (karakter cinsinden giriş penceresinin genişliği) ve MAXLENGTH=[sayı] (karakter cinsinden giriş dizesinin izin verilen maksimum uzunluğu) ek niteliklerini içerebilir.

    Örnek:

    Metin girmek için 20 karakter genişliğinde bir pencere belirtir. Varsayılan olarak pencere, kullanıcının düzenleyebileceği Ivan metnini içerir. Düzenlenen (veya düzenlenmeyen) metin, kullanıcı değişkenindeki işleyiciye iletilir.

    TÜR=şifre

    Parola girmek için bir pencere tanımlar. Kesinlikle metin türüne benzer, ancak giriş metninin karakterleri yerine ekranda yıldız işaretleri (*) gösterilir. Örnek:

    Parola girmek için 20 karakter genişliğinde bir pencere belirtir. İzin verilen maksimum şifre uzunluğu 10 karakterdir. Girilen şifre pw değişkenindeki işleyiciye iletilir.

    TİP=radyo

    Bir radyo düğmesini tanımlar. İsteğe bağlı bir işaretli öznitelik içerebilir (düğmenin işaretli olduğunu gösterir). Aynı ada sahip bir grup radyo düğmesi yalnızca bir etiketli radyo düğmesine sahip olabilir.

    Örnek:

    9600 bps
    14400 bps
    28800 bps

    9600 bps, 14400 bps ve 28800 bps etiketli üç radyo düğmesinden oluşan bir grubu belirtir. Başlangıçta düğmelerden ilki etiketlenmiştir. Kullanıcı başka bir düğmeyi işaretlemezse, 9600 değerine sahip modem değişkeni işleyiciye iletilecektir. Kullanıcı başka bir düğmeyi işaretlerse, işleyiciye 14400 veya 28800 değeriyle modem değişkeni iletilecektir.

    TÜR=onay kutusu

    İşaretlenecek kareyi belirtir. İsteğe bağlı bir işaretli öznitelik içerebilir (karenin işaretli olduğunu gösterir). Radyo düğmelerinden farklı olarak, aynı ada sahip bir kareler grubunun birden fazla etiketli karesi olabilir.

    Örnek:

    Kişisel bilgisayarlar
    İş istasyonları
    Sunucular yerel ağlar
    İnternet sunucuları

    Dört kareden oluşan bir grubu tanımlar. Başlangıçta ikinci ve dördüncü kareler işaretlenir. Kullanıcı herhangi bir değişiklik yapmazsa işleyiciye iki değişken iletilecektir: comp=WS ve comp=IS.

    TÜR=gizli

    Tanımlar gizli öğe formu doldururken kullanıcının göremediği ve işleyiciye değiştirilmeden aktarılan veriler. İşleyicinin formun hangi sürümüyle uğraştığını bilmesi için böyle bir öğenin zaman zaman geri dönüştürülen bir formda olması bazen yararlı olabilir. Kendi başınıza düşünebileceğiniz diğer olası kullanım durumları.

    Örnek:

    İşleyiciye 1.1 değeriyle aktarılan version gizli değişkenini tanımlar.

    TİP=sıfırla

    Tıklandığında HTML formunu döndüren bir düğmeyi tanımlar. başlangıç ​​durumu. Bu düğmeyi kullanırken işleyiciye hiçbir veri aktarılmadığından, reset türündeki bir düğmenin name özelliği olmayabilir.

    Örnek:

    Tıklandığında HTML formunu orijinal durumuna döndüren Form Alanlarını Temizle düğmesini tanımlar.

    Elementlerin ötesinde , HTML formları menüler içerebilir

    Tüm özellikler gereklidir. NAME özelliği, pencerenin içeriğinin işleyiciye (örnekte - adres) aktarılacağı adı tanımlar. ROWS özelliği pencerenin yüksekliğini satır cinsinden ayarlar (örnekte 5). COLS özelliği pencerenin genişliğini karakter cinsinden ayarlar (örnekte 50).

    Etiketler arasına yerleştirilen metin , varsayılan olarak pencerenin içeriğini temsil eder. Kullanıcı onu düzenleyebilir veya basitçe silebilir.

    Penceredeki Rusça harflerin olduğunu bilmek önemlidir.