Autor | Zpráva | ||
---|---|---|---|
jetyadam Profil * |
#1 · Zasláno: 8. 1. 2013, 17:54:49
Čau, mam dotaz, mam tenhle kód pro input <input class="input" type="text" value="Přezdívka" onfocus="if(this.value==this.defaultValue){this.value=''}; this.style.color='black'" onblur="if(this.value=='') {this.value=this.defaultValue}; this.style.color='grey'"> a funguje mi, že když nikdo do toho nepíše tak je to šedy a když do toho zas někdo píše tak to píše černě, ale jak to mam udělat, když chci že někdo přeskočí do dalšího políčka aby to co do toho napsal bylo pořád černý a když to pak zas smaže tak aby to bylo šedý. Díky.
|
||
candiess Profil |
Moderátor Davex: Přesunuto z duplicitního tématu. jetyadam:
Nejspíš myslíš placeholder="Šedý text", nebo pak stylem onclick, onblur. |
||
candiess Profil |
#3 · Zasláno: 8. 1. 2013, 22:15:05
jetyadam:
Nebylo by lepší použít placeholder="", který je pro toto udělaný? |
||
jetyadam Profil * |
#4 · Zasláno: 8. 1. 2013, 22:15:26
candiess:
Jo přesně tohle díky moc :D. |
||
margin Profil * |
#5 · Zasláno: 8. 1. 2013, 22:30:20
Vhodnější než onclick je onfocus.
|
||
Chamurappi Profil |
Reaguji na candiesse:
Zapomněl jsi zmínit, že placeholder nefunguje ve všech prohlížečích.
Reaguji na jetydam: Posuň složené závorky za nastavování barvy a bude to fungovat tak, jak chceš. A všude. |
||
Časová prodleva: 12 měsíců
|
|||
Trax Profil |
#7 · Zasláno: 3. 1. 2014, 17:04:56
Šlo by to, co napsal jetyadam použít i na
<select> ? Například na border?
Já už to zkoušel a s tím ohraničením mi to funguje jen na <input> . Nicméně v JS nejsem vůbec zběhlý, tak bych potřeboval spíše radu, jak na to. Pokud to vůbec jde. :D Díky. :)
|
||
Chamurappi Profil |
#8 · Zasláno: 3. 1. 2014, 17:43:14
Reaguji na Traxe:
„v JS nejsem vůbec zběhlý“ Tohle je spíš záležitost CSS, prohlížeč si nemusí nechat mluvit do toho, jak formulářové prvky vypadají. Jinak z pohledu JS pravděpodobně jde použít stejnou konstrukci. Jde-li ti o změnu stylu. Kdybys chtěl měnit value podle focusu, mohl bys možná narazit — jestli si dobře vzpomínám, v některých prohlížečích se uživatelem rozbalený <select> sám zavře, když mu sáhneš na value nebo na <option> y.
|
||
Trax Profil |
#9 · Zasláno: 3. 1. 2014, 18:01:14
Chamurappi:
No nevím, jestli jsem tě správně pochopil. :) Já nechci value nijak měnit, jen zkontrolovat, zda je prázdná nebo není. Pokud bude, tak bych tam chtěl zvýraznit border a pokud nebude tak nechat border tak jak je nastavený v externím css. A nebo např. když budu odesílat formulář a uživatelem zadané informace vyhodnotím třeba s PHP jako "špatné", tak aby se mi zvýraznili okraje červeně. |
||
Chamurappi Profil |
#10 · Zasláno: 3. 1. 2014, 19:42:55
Reaguji na Traxe:
„Já nechci value nijak měnit“ Kolega jetyadam mění barvu i value , psal jsi, že chceš to, co napsal, použít i na <select> , tak jsem postihl obě možnosti.
„tak bych tam chtěl zvýraznit border a pokud nebude tak nechat border tak jak je nastavený v externím css“ To by fungovat mělo. Pokud ti prohlížeč dovolí změnit barvu border u přes externí CSS, půjde změnit i JavaScriptem. Spolehlivější asi bude měnit border spíš rodiči <select> u (v řeči JS this.parentNode místo this ). A když bych to dělal já, nenastavoval bych konkrétní styl, ale měnil bych třídu (tedy this.parentNode.className = "něco" ) a konkrétní vzhled pro třídu nechť určí externí CSS.
|
||
Trax Profil |
#11 · Zasláno: 3. 1. 2014, 21:24:27
Chamurappi:
Super! Funguje to. :)) Díky moc i za rady. ;) |
||
Časová prodleva: 10 let
|
0