Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

Metin kutusunda Enter tuşuna basıldı mı?

Bir HTML metin kutum var. Bu metin kutusunda Enter tuşuna basıldığında bir fonksiyon çalıştırmak istiyorum ama metin kutusu etiketi bir formun içinde olduğundan ve formda da bir submit tuşu olduğundan dolayı hem Enter tuşunu yakalamam, hem de formun gönderilmesine engel olmam lazım.

Soran:07.04.16 22:49
misafir  

1 Cevap

0
Bunun için tuş basma olaylarından birini ve olay parametresinin (event) preventDefault (varsayılan davranışa engel ol / yapma) metodunu kullanman lazım. Ancak formun gönderilmesine de engel olmak istiyorsan tuş basma olaylarından "keydown" ı kullanman gerekecek. "keyup" bir işe yaramaz.

Sizin için bir de örnek yazdım:

<form id="form1">
    Adi:<input type="text" name="ittAdi" onkeydown="keydown(event)" /><br />
    Soyadi:<input type="text" name="ittSoyadi /><br />
    Yaşı:<input type="text" name="ittYasi" /><br />
    <input type="submit" value="Gönder" />
</form>
<script>
    function keydown(e) {
        // Olay parametresini al (window.event eski IE için)
        e = e || window.event;
	// Basılan tuşun kodunu al.
        var tus = e.keyCode || e.which;
	// Tuş Enter ise
        if (tus == 13) {
		// Olayın varsayılan davranışına engel ol.
            	e.preventDefault();
		// Entere basıldığında yapılacak işi yap.
            	entereBasildi(); 
            	// Aşağıdaki başka işlemler var ve yapılmasını istemiyorsan ekle.
            	return; 
        }
    }
    function entereBasildi() {
        console.log("Enter tuşuna basıldı.");
    }
</script>


Cevaplayan: 07.04.16 20:01
cevapsitesi
102,034p 16ü
Cevabı seçen: 08.06.16 00:03
canora
101,387p 4ü