Autor Zpráva
Agebr
Profil
Dobrý den, mám problém s php:
mám search lištu ale když do ní kliknu, nápis hledej tam zůstane a musí se ručně smazat.
Je to ve wordpressové šabloně.
Jde to nějak spravit, aby to fungivalo normálně? děkuji.
PHP:
<form method="get" id="searchform" action="<?php echo home_url(); ?>/">
    <input type="text" name="s" id="s" value="<?php _e('', 'boothemes'); ?>" onfocus='if (this.value == "Hledej") { this.value = ""; }' onblur='if (this.value == "") { this.value = "Hledej!"; }' />
</form>

Živý příklad:
noob.g6.cz
jenikkozak
Profil
Logika věci říká, že by to mělo být nějak takto:

<input type="text" name="s" id="s" value="<?php _e('', 'boothemes'); ?>" onfocus='if (this.value == "<?php _e('', 'boothemes'); ?>") { this.value = ""; }' onblur='if (this.value == "") { this.value = "<?php _e('', 'boothemes'); ?>"; }' />
Zkrátka aby se porovnávala stále stejná hodnota, ať je jakákoliv.
Agebr
Profil
Dosadil sem to tam a stejně nefunguje :/, objeví se text Hledej!, který se po kliknutí do pole musí mazat.
Tori
Profil
Taky se dá v JS použít výchozí hodnota:
<input type="text" name="s" id="s" value="<?php _e('', 'boothemes'); ?>" 
 onfocus='if (this.value == this.defaultValue) this.value = "";' onblur='if (this.value == "") this.value = this.defaultValue;' />
user243
Profil
tohle mi přijde spíš jako js problém;
není elegantnější používat
this.defaultValue
místo vkládání pořád stejné věci přes php?

edit: ... Tori byla rychlejší
Agebr
Profil
dík, ten js pomohl :)
candiess
Profil
Agebr:
A nebo pouzij atribut placeholder="hledej" ale pry neni podpora prohlizecu 100%, skoda
jenikkozak
Profil
candiess:
pry neni podpora prohlizecu 100%
Nebude to fungovat jedné asi tak jedné třetině návštěvníků (záleží na spektru návštěvníků konkrétního webu), IE umí placeholder až v desítce.
candiess
Profil
jenikkozak:
Proto píšu, že to není 100%.

Nebude to fungovat jedné asi tak jedné třetině návštěvníků
Podle mých statistik (web zaměřen na mladé lidi) je IE umístěno na posledním místě a to ještě z větší části díky W8. Ale samozřejmě se to odvíjí podle toho, jaké je tam spektrum návštěvníku, jak jste zmínil.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: