Witam,
mam problem z funkcją "blokuj_klawisze(e)":
<!doctype html>
<html lang="pl" dir="ltr"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="JavaScript">
function blokuj_klawisze(e) {
e = e || event;
var key = window.event ? e.keyCode : e.which;
var keychar = String.fromCharCode(key);
reg = /\d|\r|\W/;
return reg.test(keychar);
}
<input id=litera01 type=button onclick=d(this.value); value=а>
<input id=litera02 type=button onclick=d(this.value); value=б>
<input id=litera03 type=button onclick=d(this.value); value=в>
<input id=litera04 type=button onclick=d(this.value); value=г>
<input id=litera05 type=button onclick=d(this.value); value=д>
<input id=litera06 type=button onclick=d(this.value); value=е> <input id=litera07 type=button onclick=d(this.value); value=ё> <input id=litera08 type=button onclick=d(this.value); value=ж>
<input id=litera09 type=button onclick=d(this.value); value=з>
<input id=litera10 type=button onclick=d(this.value); value=и>
<input id=litera11 type=button onclick=d(this.value); value=й>
<input id=litera12 type=button onclick=d(this.value); value=к>
<input id=litera13 type=button onclick=d(this.value); value=л>
<input id=litera14 type=button onclick=d(this.value); value=м>
<input id=litera15 type=button onclick=d(this.value); value=н>
<input id=litera16 type=button onclick=d(this.value); value=о>
<input id=litera17 type=button onclick=d(this.value); value=п>
<input id=litera18 type=button onclick=d(this.value); value=р>
<input id=litera19 type=button onclick=d(this.value); value=с>
<input id=litera20 type=button onclick=d(this.value); value=т>
<input id=litera21 type=button onclick=d(this.value); value=у>
<input id=litera22 type=button onclick=d(this.value); value=ф>
<input id=litera23 type=button onclick=d(this.value); value=х>
<input id=litera24 type=button onclick=d(this.value); value=ц>
<input id=litera25 type=button onclick=d(this.value); value=ч>
<input id=litera26 type=button onclick=d(this.value); value=ш>
<input id=litera27 type=button onclick=d(this.value); value=щ>
<input id=litera28 type=button onclick=d(this.value); value=ъ>
<input id=litera29 type=button onclick=d(this.value); value=ы>
<input id=litera30 type=button onclick=d(this.value); value=ь>
<input id=litera31 type=button onclick=d(this.value); value=э>
<input id=litera32 type=button onclick=d(this.value); value=ю>
<input id=litera33 type=button onclick=d(this.value); value=я>
<form action="" method="get">
<input id=txt type="text" name="wyszukiwarka" onkeypress='return blokuj_klawisze(event)'/>
<input type="submit" name="oursubmit" value="Szukaj" />
<script language="JavaScript">
function d(x){
document.getElementById("txt").focus();
poczatek=document.getElementById("txt").selectionStart; koniec=document.getElementById("txt").selectionEnd;
przedzaznaczonym=document.getElementById("txt").value.substring(0,poczatek);
zaznaczone=document.getElementById("txt").value.substring(poczatek,koniec);
pozaznaczonym=document.getElementById("txt").value.substring(koniec,document.getElementById("txt").value.length);
document.getElementById("txt").value=przedzaznaczonym+x+pozaznaczonym;
}
chodzi o to, że w polu tekstowym chciałem blokować klawisze liter, jeśli chodzi o podstawowe znaki (a, b, c, d, e, ...) to funkcja "blokuj_klawisze(e)" radzi sobie z nimi dobrze, problem pojawia się, gdy chodzi o polskie litery [czyli kombinacja klawiszy AltGr+litera (a, c, ...) = ą, ć] wtedy litera jest wprowadzana w pole tekstowe, a chodzi o to, żeby nie była. Dodatkowo chcę aby funkcjonalność innych klawiszy pozostała bez zmian. Moje pytanie brzmi co muszę zmodyfikować w funkcji "blokuj_klawisze(e)", aby osiągnąć ten efekt?