Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JS] Przełączanie między polami po wpisaniu znaku
pawelgdz
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Kod
if(wartosc.indexOf(',')>-1)


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pawelgdz
post
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Oprócz onKeyPress masz jeszcze onKeyUp i onKeyDown.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pawelgdz
post
Post #5





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




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


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pawelgdz
post
Post #7





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 30.01.2006

Ostrzeżenie: (0%)
-----


Działa świetnie jeszcze raz dzięki - Pomógł x2 pozdrawiam
Temat zamkniety
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:34