[JavaScript]onclick i onclickout (?) |
[JavaScript]onclick i onclickout (?) |
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ć? |
|
|
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
-------------------- |
|
|
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? |
|
|
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
-------------------- |
|
|
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.
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ą. |
|
|
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.
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()? |
|
|
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.
Pozostaje kwestia zmiany koloru tekstu po kliknięciu na input. Tutaj pozostajemy przy JS tak? |
|
|
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.:
|
|
|
Wersja Lo-Fi | Aktualny czas: 1.05.2024 - 18:50 |