Ana Sayfa
Gruplar  •  Site Yönetimi  •  Özel Mesajlarınız   •  Giriş   •  Kayıt
Ana Sayfa
Ana Sayfa
Forumlar
Forumlar
Yardım
Yardım
Arama
Arama
Albüm
Albüm
Kurallar
Kurallar
Linkler
Linkler
Makaleler
Makaleler
Oyunlar
Oyunlar
Sohbet
Sohbet
Üyeler
Üyeler
İstatistikler
İstatistikler

Google


Programcılık » Java forumunda Form Nesnesi (Ders-21) konu başlığının kısa özeti; Bir önceki sayfamızda form nesnesinin hiyerarşi sıralamasında sayfa nesnesinden sonra geldiğini ve forms ismiyle bir dizi oluşturduğunu görmüştük. Bu sayfada form nesnesini kullanmayı öğreneceğiz. Fo...

Bu başlığı gezen kullanıcılar:0 Kayıtlı, 0 Gizli, 0 Misafir ve 0 Bot
Kayıtlı Kullanıcılar: Yok



 
Yeni Başlık GönderCevap Gönder Digg it Stumble it Submit to Del.icio.us Diigo it Prefound it Reddit it Facebook it Blink it Slashdot it Linkagogo it 
Önceki başlık Arkadaşına GönderYazdırÖzel Mesajlarınız Sonraki başlık
Yazar Mesaj
UnreaL
Fast Friend
Fast Friend



Kayıt: 24 Aralık 2005
Mesajlar: 203
Tema: Parthenos (27979)

Yaş: 23

turkey.gif

Cinsiyet:Erkek Kova Fare

Puan: 309
Mesaj Tarih: 22 Temmuz 2006, 16:00   Mesaj konusu: Form Nesnesi (Ders-21)
Alıntıyla Cevap Ver


Bir önceki sayfamızda form nesnesinin hiyerarşi sıralamasında sayfa nesnesinden sonra geldiğini ve forms ismiyle bir dizi oluşturduğunu görmüştük. Bu sayfada form nesnesini kullanmayı öğreneceğiz.
Form Komutları

Sayfadaki form nesnelerini, name parametresiyle tanımladığımız isimler aracılığıyla çağırabiliriz: document.forms.yeniform gibi. Form komutlarını da bu kök üzerine yerleştiririz. Form komutlarını topluca listeledim.

action : Formun işlem sayfasına girmesini sağlar.
method : Formun metodunu girer (post/get).
reset() : Form bilgilerini siler (resetler).
submit() : Form bilgilerini girer.
acceptCharset : İstemcinin (server'ın) desteklediği karakter listesini girer.
elements : Form elemanlarını bir dizi haline getirerek girer.

Bu komutlar üzerinde şimdilik fazla durmayalım, çünkü henüz bu tip bir uygulama yapmaya bilgilerimiz yeterli değil. ASP ve CGI derslerimizde bu komutları fazlasıyla kullanacağız. Yine de bazılarının işlevini sizler anlamışsınızdır. Çoğu okuyucunun Ziyaretçi Defteri, Bilgi Giriş Formu, Tartışma Forumu, Arama Motoru yapmak için sabırsızlandığını hatta için için henüz göstermediğim için bana kızdığını biliyorum. Smile Ama şunu belirtmeliyim ki bu tip araçları sadece HTML ve JavaScript ile yapamazsınız. JavaScript bilgileri saklamaz, depolamaz, veri tabanı oluşturmaz; sadece sayfa yüklüyken değişkenlerinde veri tutabilir. Herşeyi hemen yapmak isteyen arkadaşlar birazcık sabretsin ve bu sayfanın altındaki bilgileri öğrenmeye çalışsınlar. CGI ve ASP derslerinde acısını çıkaracağız ama önce bir script dilini çok iyi öğrenmek gerekir.

Bilgi Giriş Elemanları

Bilgi giriş elemanlarının (düğme, metin kutusu, kontrol kutusu,vb.) yapısını HTML derslerimizde görmüştük. O sayfada form araçlarının parametreleri de tanıtılmıştı. İstersek o parametreleri JavaScript koduyla tanımlayabiliriz. Örneğin metin kutusunun uzunluğunu karakter cinsinden belirleyen size parametresini JavaScript kodlarıyla tanımlayalım:

<html>
<head>
<title>Size Parametresi,</title>
<script language="JavaScript">

function uzunluk(x)
{
document.forms.Form1.mesaj.size=x
}

</script>
</head>
<body>

<form name="Form1">
Notunuz:<input name="mesaj"><br><br>
<table cellpadding="0" cellspacing="0" border="0" width="400"><tr>
<td><input type="button" onclick="uzunluk(10)" value="Kısa Not"></td>
<td><input type="button" onclick="uzunluk(40)" value="Orta Not"></td>
<td><input type="button" onclick="uzunluk(70)" value="Uzun Not"></td>
</tr></table>
</form>

</body>
</html>


size parametresi öğrendiklerimizden sadece bir tanesi. Diğer parametreleri de bu şekilde kullanabiliriz. Örneğin maksimum karakter girişini belirlemek için document.forms.Form1.mesaj.maxlength kodundan yararlanabiliriz. Gerisini sizlerin yaratıcılığına bırakayım.

Hatırlarsanız, bir de value parametresi vardı. Bu parametreyle metin kutusuna yazı yazdırabiliyorduk. JavaScript kodlarıyla bu parametreyi, metin kutusuna yazılı olan ifadeyi değişkenlere aktarmak için kullanabiliriz:

<html>
<head>
<title>Form Sayfası,</title>
<script language="JavaScript">

function gir()
{
bilgi1.innerHTML=document.forms.kimlik.veri1.value
bilgi2.innerHTML=document.forms.kimlik.veri2.value
bilgi3.innerHTML=document.forms.kimlik.veri3.value
bilgi4.innerHTML=document.forms.kimlik.veri4.value
bilgi5.innerHTML=document.forms.kimlik.veri5.value
}

</script>
</head>
<body>

<form name="kimlik">
Adınız:<input name="veri1"> 
SoyAdınız:<input name="veri2"><br>
Yaşınız:<input name="veri3"> 
Cinsiyetiniz:<input name="veri4"> 
Telefonunuz:<input name="veri5"><br><br>
<input type="button" value="Bilgileri Tabloya Gir" onclick="gir()"><br><br>
<table cellpadding="5" cellspacing="0" border="1">
<tr><td width="100">Adı:</td><td id="bilgi1" width="300"> </td></tr>
<tr><td>SoyAdı:</td><td id="bilgi2"> </td></tr>
<tr><td>Yaşı:</td><td id="bilgi3"> </td></tr>
<tr><td>Cinsiyeti:</td><td id="bilgi4"> </td></tr>
<tr><td>Telefonu:</td><td id="bilgi5"> </td></tr>
</table>
</form>

</body>
</html>


Bu uygulamayla bir Bilgi Giriş Formu yaptık aslında. Ama bir farkla, girdiğimiz bilgiler pencere kapatılınca yok oluyor. Buradan şu sonucu çıkartabilirsiniz: JavaScript bilgileri aktarmaya ve dönüştürmeye yarar ancak o bilgileri saklamaya yaramaz. Bunun için veri tabanı gereklidir ve bu veri tabanını CGI ve ASP derslerimizde oluşturacağız. Sanırım şimdi daha iyi anlaşıldı.

Veri tabansız da birçok güzel şey yapılabiliniyor. Son uygulamamızı anlayan arkadaşlar rahatlıkla basit bir hesap makinesi yapabileceklerdir. Normal metin kutusu ve düğmeler yerine resimler de kullanılabilinir. İsterseniz deneyin, zor bir tarafı yok. Ders sayfalarının sonunda yer alan Hesap Makineleri örneklerine de bakabilirsiniz.

Kontrol kutularını seçmek için checked parametresini true değeri verebiliriz veya bunu JavaScript ile document.forms.form1.kontrolkutusu1.checked=true şeklinde ifade edebiliriz. Hatırlayacağınız üzere; radyo kutusunun işlevi gereği sadece birinin seçilmesi için, her kutuya aynı ismi veriyorduk. Bu durumda yukarıda yazıldığı gibi name özelliğini kullanamayız ama id parametresini kullanarak bu sorunu halledebiliriz. Aşağıdaki uygulamaya bakalım.

<html>
<head>
<title>Bundylogy Sorusu,</title>
<script language="JavaScript">

function cevap()
{
if (document.soru.rad3.checked==true) paragraf.innerHTML="En doğru cevabı işaretlediniz. Bravooo!"
else paragraf.innerHTML="Doğru ama en doğru değil, Al Bundy mantığıyla düşünün."
}

</script>
</head>
<body>

<form name="soru">
<b>Al Bundy soruyor:</b>Marcy Darcy kimdir? (Doğruluk derecesi en yüksek olanı işaretleyin lütfen...)<br>
<label for="rad1">
<input type="radio" id="rad1" name="radyo"> Part time çalışan bir paperboy'dur.
</label><br>
<label for="rad2">
<input type="radio" id="rad2" name="radyo"> Jefferson Darcy'nin kocasıdır.
</label><br>
<label for="rad3">
<input type="radio" id="rad3" name="radyo"> Bir tavuktur.
</label><br>
<label for="rad4">
<input type="radio" id="rad4" name="radyo"> Materyalist ruhu gelişkin bir banka çalışanıdır.
</label><br>
<label for="rad5">
<input type="radio" id="rad5" name="radyo"> Bundy'lerin komşusudur.
</label><br>
<input type="button" value="Değerlendir" onclick="cevap()">
<p id="paragraf">Doğru seçeneği işaretlediğinizden eminseniz, yukarıdaki düğmeye basın.</p> </form>

</body>
</html>


Sözün özü, tüm parametreleri komut haline getirebiliyoruz. Bunun yanısıra Form Elemanları için kullanılan başka komutlar da var:

focus() : Tanımlanan bilgi giriş aracına odaklanmayı sağlar.

blur() : Tanımlanan bilgi giriş aracının odak halinden çıkmasını sağlar.

click() : Tanımlanan bilgi giriş aracını tıklamaya yarar.

select() : Tanımlanan bilgi giriş aracının seçili hale gelmesini sağlar.

Tüm bu komutların yer aldığı öğretici bir uygulama yapalım:

<html>
<head>
<title>Bilgi giriş eleman komutları,</title>
<script language="JavaScript">

function komut(x)
{
switch(x)
{
case 1: document.form1.metinkutusu.select()
break
case 2: document.form1.metinkutusu.focus()
break
case 3: document.form1.metinkutusu.blur()
break
case 4: document.form1.dugme.click()
}
}

</script>
</head>
<body>

<form name="form1">
<input name="metinkutusu" value="metin kutusu"> 
<input type="button" name="dugme" value="uyarı düğmesi" onclick="alert('Alarm!!!')"><br><br>
<input type="button" value="Metin kutusuna odaklan" onclick="komut(2)"><br>
<input type="button" value="Metin kutusundaki yazıyı seç" onclick="komut(1)"><br>
<input type="button" value="Metin kutusunu seçili halden çıkar" onclick="komut(3)"><br>
<input type="button" value="Uyarı düğmesine bas" onclick="komut(4)"><br>
</form>

</body>
</html>


Bu uygulamamızı irdeleyelim biraz: select() komutu form aracını seçili hale getiriyor ve odaklıyor. Yani ayrıca odaklamamıza gerek kalmıyor, üzerine blur() komutunu uygularsak, odaklanma kalkıyor ama seçili hal devam ediyor tabi.

Seçenek Kutusu

HTML derslerinde seçenek kutusunun nasıl görüntülendiği anlatılmıştı ama nasıl kullanıldığı üzerine birşey söylenilmemişti. Şimdi söyleyelim. Seçenek kutusunda kullanıcının işaretlediği seçeneği selectedIndex komutuyla indeks (sıra) numarası cinsinden ifade ediyoruz:

<html>
<head>
<title>Seçenek Kutusu İndeksleri,</title>
<script language="JavaScript">

function sec()
{
var x=document.sira_no.yazar.selectedIndex
alert(x+1)
}

</script>
</head>
<body>

<form name="sira_no">
<select name="yazar"
<option>Mario Llosa Vargas
<option>Amin Maalouf
<option>John Steinback
<option>Ursula K. Leguin
<option>Panait Istrati
</select>
   
<input type="button" value="Kaçıncı Seçenek" onclick="sec()">
</form>

</body>
</html>


Bu uygulama, kullanıcının seçtiği seçeneğin sıra numarasını gösteriyor. selectedIndex komutu ile seçeneğe 0 (sıfır) değeri verdiğinden, uygulamada sıra numarasını x+1 şeklinde ifade ettik.

Seçenek kutusundaki seçenekler options isimli bir dizi oluşturur. İlk seçenek options[0] şeklinde belirtilir. options[0].text ise, ilk seçeneği metinsel değer olarak ifade eder. Önceki uygulamada kullanıcının seçtiği seçeneğin sıra numarasını ifade ediyorduk. Sıra numarası yerine, seçeneği doğrudan nasıl ifade edebiliriz?

<html>
<head>
<title>Seçenek Kutusu: Seçilen Seçeneği Gösterme,</title>
<script language="JavaScript">

function sec()
{
var x=document.secenek.yazar.selectedIndex
var y=document.secenek.yazar.options[x].text
alert(y)
}

</script>
</head>
<body>

<form name="secenek">
<select name="yazar"
<option>Mario Llosa Vargas
<option>Amin Maalouf
<option>John Steinback
<option>Ursula K. Leguin
<option>Panait Istrati
</select>
   
<input type="button" value="Hangi Seçenek" onclick="sec()">
</form>

</body>
</html>


Ne yaptık? Kullanıcının seçtiği seçeneği sıra sayısı cinsinden ifade ettik. (selectedIndex ile) Sonra seçilen sıra numarasını options dizini ve text komutu sayesinde metinsel değere dönüştürdük. text yerine index komutu kullansaydık, yine sıra numarası elde edecektik.

Dilersek text komutunu seçeneklerin metnini değiştirmek için kullanabiliriz.

<html>
<head>
<title>Seçenek Kutusu Seçenek Değiştirme,</title>
<script language="JavaScript">

function secenekekle()
{
var x=document.forms.secenek.adsoyad.value
var y=document.secenek.yazar.selectedIndex
document.secenek.yazar.options[y].text=x
}

</script>
</head>
<body>

<form name="secenek">
<select name="yazar"
<option>Mario Llosa Vargas
<option>Amin Maalouf
<option>John Steinback
<option>Ursula K. Leguin
<option>Panait Istrati
</select><br>
Yazar ismi:
<input name="adsoyad" size="80">
   
<input type="button" value="Seçeneği Değiştir" onclick="secenekekle()">
</form>

</body>
</html>


Seçenek kutusunu düğmeyle beraber kullanmak zorunda değiliz. Seçenek kutusunda başka bir seçeneği işaretlediğimiz zaman işlem yapılacaksa onchange olayı kullanılmalıdır.

<html>
<head>
<title>Seçenek Kutusu: OnChange Olayı,</title>
<script language="JavaScript">

function degistir()
{
var x=document.secenek.yazar.selectedIndex
yazi.innerHTML=document.secenek.yazar.options[x].text
}

</script>
</head>
<body>

<form name="secenek" onchange="degistir()">
<select name="yazar">
<option>Mario Llosa Vargas
<option>Amin Maalouf
<option>John Steinback
<option>Ursula K. Leguin
<option>Panait Istrati
</select><br>
<p id="yazi">Seçeneği değiştiriniz...</p>
</form>

</body>
</html>





Volkan Derinbay'a tşkler.

 Oylanmadı UnreaL offlineKişisel Galeri - UnreaLKullanıcı profilini görÖzel mesaj gönder
Mesajları göster:      
Yeni Başlık GönderCevap Gönder
Önceki başlık Arkadaşına GönderYazdırÖzel Mesajlarınız Sonraki başlık


Bu başlığı gezen kullanıcılar:0 Kayıtlı, 0 Gizli, 0 Misafir ve 0 Bot
Kayıtlı Kullanıcılar: Yok

Bu forumda yeni konular açamazsınız
Bu forumdaki mesajlara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız
Bu foruma eklenti dosyaları gönderemezsiniz
Bu forumdaki dosyaları indiremezsiniz
Bu forumda eklenti önizlemelerini/linklerini görebilirsiniz
Etiketler: acceptcharset, action, acısını, adsoyad, adı, adınız, aktarmak,

Benzer Başlıklar
Başlık Yazar Forumlar Cevaplar Son Gönderilen
Yeni mesaj yok ASP Server Nesnesi UnreaL ASP - PHP - PERL - CGI - HTML 0 22 Temmuz 2006, 15:24 Son Mesajları Gör
UnreaL
Yeni mesaj yok Avokado Form ! Buse-yiLmaz Sağlık 0 13 May 2008, 17:31 Son Mesajları Gör
Buse-yiLmaz
Yeni mesaj yok Doküman Nesnesi (Ders-16) UnreaL Java 0 22 Temmuz 2006, 15:55 Son Mesajları Gör
UnreaL
Yeni mesaj yok Pencere Nesnesi (Ders-17) UnreaL Java 1 06 Mart 2008, 11:50 Son Mesajları Gör
korayser
Yeni mesaj yok Sayfa Nesnesi (Ders-20) UnreaL Java 0 22 Temmuz 2006, 15:59 Son Mesajları Gör
UnreaL





Bu Siteye Ait Çerezleri Sil

© 2003, 2049 Türkiye Forum :: Powered by phpBB © 2001, 2005 phpBB Group :: FI Theme
Tüm saatler GMT +2 Saat :: :: Forum Arşivleri
Hata: sayfa oluşturma = 0.92989 saniye, sql sorguları = 39
Türkiye Forum başlık özet akışları

  

CBACK CrackerTracker tarafından korunuyor
22899 Girişim engellendi.


AdslDigiturk
eXTReMe Tracker
Forum Haritası: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 86, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127