Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]onclick i onclickout (?)
Krychu1
post 8.08.2013, 19:57:21
Post #1





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 3.10.2009

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


Cześć. Próbuję napisać krótki skrypcik który po kliknięciu w tekstowy input usuwałby z niego domyślną wartość (pozostawiał czyste pole) a w sytuacji "odkliknięcia" (jeśli użytkownik nic nie wpisał) przywracał z powrotem domyślną wartość.
Wszystko jest dla mnie jasne do momentu "odkliknięcia". Jak sobie z tym poradzić?
Go to the top of the page
+Quote Post
lobopol
post 8.08.2013, 20:15:40
Post #2





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


nie onclick a onfocus i onblur, gdy pierwszy event zapisujesz gdzieś zawartość np. w zmiennej, a przy blur sprawdzasz czy coś jest wpisane jak nie to przywracasz wartość ze zmiennej, możesz również użyć placeholdera z html5


--------------------
Go to the top of the page
+Quote Post
Krychu1
post 8.08.2013, 20:27:03
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 3.10.2009

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


Świetnie, dzięki.
A tak z ciekawości. Czy dużo trudniej zrobić jest tak, aby wartość znikała dopiero po wpisaniu pierwszego znaku?
Go to the top of the page
+Quote Post
lobopol
post 8.08.2013, 20:34:10
Post #4





Grupa: Zarejestrowani
Postów: 1 729
Pomógł: 346
Dołączył: 4.04.2009

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


przy placeholderze nie, przy javascript musisz się podpiąć pod zdarzenie onkeydown w zasadzie nie jest to wiele trudniejsze


--------------------
Go to the top of the page
+Quote Post
Krychu1
post 8.08.2013, 20:50:50
Post #5





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 3.10.2009

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


Okej, to również już działa. smile.gif
Jedyna rzecz jaka mnie jeszcze nurtuje to, aby po kliknięciu w input zawsze "kursor miejsca wpisywania tekstu" pojawiał się na początku, a nie tam gdzie klikniemy. Bez tego, jeszcze przed wciśnięciem znaku na klawiaturze daje to dziwne wrażenie - tak jakby najpierw trzeba było usunąć wartość domyślną.
Go to the top of the page
+Quote Post
SmokAnalog
post 8.08.2013, 21:18:54
Post #6





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Idźmy z duchem czasu i używajmy atrybutu placeholder.
  1. <input type="text" placeholder="Podpowiedź do pola">

Chyba, że pole naprawdę ma mieć wartość domyślną, a nie tylko podpowiedź, wtedy JavaScript. Dziwnie kombinujesz z tym ustawianiem kursora na początku. Może lepiej dać select() zamiast focus()?
Go to the top of the page
+Quote Post
Krychu1
post 8.08.2013, 21:40:42
Post #7





Grupa: Zarejestrowani
Postów: 39
Pomógł: 1
Dołączył: 3.10.2009

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


Ah, przekonałeś mnie. smile.gif
Pozostaje kwestia zmiany koloru tekstu po kliknięciu na input. Tutaj pozostajemy przy JS tak?
Go to the top of the page
+Quote Post
SmokAnalog
post 8.08.2013, 22:02:23
Post #8





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


Wystarczy CSS.

Kolor placeholdera zmieniasz tak: http://stackoverflow.com/questions/2610497...-color-with-css

A kolor pola, w którym coś już wpisano zmieniasz normalnie, np.:
  1. #pole {
  2. color: #000;
  3. }
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 Wersja Lo-Fi Aktualny czas: 1.05.2024 - 18:50