Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Przełączanie między polami po wpisaniu znaku
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
pawelgdz
Projektuję właśnie mały skrypt php w połączeniu z elementami JavaScript.

Mam dwa pola do wpisania ceny : cenazl i cenagr.
Chciałbym uzyskać efekt, że gdy użytkownik zacznie wpisywać cenę np. 109,50 to po wpisaniu przecinka skrypt przełączy go do pola z groszami

  1. <input type=text name=cenazl onKeyPress="javascript:if((document.prod.cenazl.value==',') document.prod.cenagr.focus();" > , <input type=text name=cenagr>


Przy takim złożeniu kodu kursor przeskakuje mi kiedy w pierwszym polu wpiszę TYLKO przecinek.
Proszę o pomoc. Napewno jest to kwestia sprawdzania każdego znaku po kolei.

Pozdrawiam
erix
Kod
if(wartosc.indexOf(',')>-1)
pawelgdz
Serdecznie dziękuję zadziałało jednak nie do końca jakbym chciał

  1. <input type=text name=cenazl onKeyPress="javascript:if((document.prod.cenazl.value).indexOf(',')>-1) document.prod.cenagr.focus();" value="<? echo $a[cena]; ?>"> , <input type=text name=cenagr>



Teraz gdy zaczynam wpisywać cenę w pierwszym polu input : 109, - w tym momencie kursor wędruje do kolejnego input'a i zaczyna wpisywać gr.
Jak mogę zmodyfikować powyższy skrypt aby przecinka nie było - aby przecinek pełnił funkcję guzika TAB a nie pojawiał się w polu input.
erix
Oprócz onKeyPress masz jeszcze onKeyUp i onKeyDown.
pawelgdz
Niestety żadna z tych akcji nie likwiduje mi wpisanego przecinka w polu pierwszym.

Pole to dotyczy wpisywania ceny. Ogólny zamysł mój jest taki aby użytkownik wpisując cenę z przecinkiem nie musiał używać myszy lub tabulatora do przejścia do pola z groszami

W tym przypadku wpisując cenę np. 103,90

W pierwszym polu pozostaje 103,
W drugim polu pozostaje 90

Pytanie: Jakiej funkcji/akcji użyć by wyeliminować przecinek istniejący w tym polu? Czyli według mnie ... jak z przecinka wpisanego na klawiaturze zrobić tabulację.

Funkcja którą mi podałeś działa prawidłowo, lecz pozostaje przecinek. Być może trzeba zrobić tak:
Jeżeli wciśnięty został przecinek to - usuń przecinek z tego pola i przeskocz do następnego ?
erix
Kod
<input type="text" onkeyup="var x = this.value.indexOf(','); if(x>-1){ this.value = this.value.substr(0,x); pole.focus}" />


Dostosuj sobie. winksmiley.jpg
pawelgdz
Działa świetnie jeszcze raz dzięki - Pomógł x2 pozdrawiam
Temat zamkniety
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.