İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

JavaScript onKeyPress Olayı -Yardım?

İnvisible-126.09.20107 cevap4.178 görüntüleme
2010'den beri22 mesaj
#1
<html>
<script type="text/javascript">
function kontrol(e)
{
var a=e.keyCode;
var b=String.fromCharCode(a);
document.getElementById("yaz").innerHTML=b;
}
</script>

<body>
<form>
<input type="text" onkeyup="kontrol(event)"/><br />
Girilen karakter:
<div id="yaz" style="background-color:#FFFFCC;" ></div>
</form>
</body>
</html>
Arkadaşlar amacım klavyeden basılan tuşun algılanıp ekrana yazdırılması.
Sorunum ise onkeypress olayında çalıştıramıyorum onkeydown ve onkeyup olaylarında çalışıyor.Ancak birde karakter küçük büyük ayırt etmeden çıktıyı büyük harf olarak geri döndürüyor.Ve son olarak event anahtar sözcüğünü fonksiyonun parametresi olarak gönderince çalıştırabiliyorum.
Yardımlarınıza muhtacım :)
Cevaplar
2008'den beri6.607 mesaj
#2
Bu kod işini görecektir:

<html>
<script type="text/javascript">
function kontrol()
{
    document.getElementById("yaz").innerHTML=document.getElementById("textbox1").value;
}
</script>

<body>
<form>
<input id="textbox1" type="text" onKeyUp="kontrol()"/><br />
Girilen karakter:
<div id="yaz" style="background-color:#FFFFCC;" ></div>
</form>
</body>
</html>
İnvisible-1 Konuyu açan
2010'den beri22 mesaj
#3
N3CAT1 dedi: ↑
Bu kod işini görecektir:

<html>
<script type="text/javascript">
function kontrol()
{
    document.getElementById("yaz").innerHTML=document.getElementById("textbox1").value;
}
</script>

<body>
<form>
<input id="textbox1" type="text" onKeyUp="kontrol()"/><br />
Girilen karakter:
<div id="yaz" style="background-color:#FFFFCC;" ></div>
</form>
</body>
</html>
:D görüntüde evet fakat benim amacım klavyeden girilen karakterin unicode değerini çevirip bu işlemi yapmak.
2008'den beri6.607 mesaj
#4
O zaman büyük-küçük harf sorunu çıkıyor. Anlamadığım taraf event nesnesi keyCode değerini verirken büyük harfin karşılığını veriyor.

Yani diyelim ki a harfine bastık. keyCode ile 97 değerini döndürmesi gerekirken 65 değerini gönderiyor. 65 de ascii de A harfine denk geliyor.
İnvisible-1 Konuyu açan
2010'den beri22 mesaj
#5
evet bende denedim onu.peki event anahtar sözcüğünü parametre olarak göndermeden çalıştırabildinmi?

"event.keyCode;" şeklinde yani.

---------- Post added at 20:56 ---------- Previous post was at 20:43 ----------

<html>
<script type="text/javascript">
function kontrol()
{
var a=event.keyCode;
var b=String.fromCharCode(a);
document.getElementById("yaz").innerHTML=b;
}
</script>

<body>
<form>
<input type="text" onkeypress="kontrol()"/><br />
Girilen karakter:
<div id="yaz" style="background-color:#FFFFCC;" ></div>
</form>
</body>
</html>
Bütün sorun firefoxdaymış yaaa :S 2 saattir kafayı yedim.Internet Explorerla denedim.Üstteki kodla tam istediğim şekilde çalıştı.Neden böyle yaptı firefox acaba :confused1:
Bu arada küçük büyük harf ayırımı sadece onkeypress de çalışıyor bu onun özelliğiymiş.onkeyup ve onkeydown da küçük büyük ayrımı yok.
2008'den beri6.607 mesaj
#6
Evet parametre olarak gönderilmediği zaman çalışmıyor. Ayrıca şu linkteki kaynağa göre event objesi IE harici tarayıcılarda uppercase yani büyük harf gönderiyormuş. O yüzden keyCode yerine charCode kullanılmasını tavsiye ediyorlar. Şu kodla da çalışıyor zaten sistem:

Kaynak: http://www.javascriptkit.com/jsref/eventkeyboardmouse.shtml

<html>
<script type="text/javascript">
function kontrol(e)
{
    document.getElementById("yaz").innerHTML= String.fromCharCode(e.charCode);

}
</script>

<body>
<form>
<input id="textbox1" type="text" onKeyPress="kontrol(event)"/><br />
Girilen karakter:
<div id="yaz" style="background-color:#FFFFCC;" ></div>
</form>
</body>
</html>
İnvisible-1 Konuyu açan
2010'den beri22 mesaj
#7
Sağolasın.zahmet verdik sanada :)
2008'den beri6.607 mesaj
#8
Yok canım ne zahmeti :)

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.