kolejny problem, który napotkałem odnosi się do funkcji "d(x)":
<!doctype html> <html lang="pl" dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <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); } </script> <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" /> </form> <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; } </script> </body> </html>
funkcja jest odpowiedzialna za wstawianie wybranych znaków, przypisanych do konkretnych przycisków, w pole tekstowe. Jednak gdy popełnię błąd i chcę uzupełnić słowo o brakujące litery, to w miejscu, w którym chcę go wstawić ustawiam kursor uzupełniam o jeden znak, a gdy brakuje dwóch liter muszę ponownie ustawiać kursor w odpowiednim miejscu, ponieważ automatycznie powędrował już na koniec linii. Jak go zmusić by po wpisaniu znaku kursor znajdował się za tym nowo wprowadzonym znakiem, a swoje położenie zmieniał dopiero gdy go przestawię?