Autor Zpráva
anonymni
Profil *
Potřebuji, vytvořit placeholder pro <input type="date">. Zkoušel jsem všemožné způsoby, ale nedaří se. Nabývám dojmu, že to HTML5 neumí. Lze toho docílit nějak jinou cestou?

Napadlo mě například, že by výchozí zobrazení bylo datum, pomocí javascriptu by se to změnilo na výchozí nastavení typ text a při focusu by se to přepnulo opět na datum. S tím, že kdyby někdo měl vypnutý javascript, tak jediné co by se stalo by bylo to, že by nebyl vidět placeholder (proto by v HTML bylo type="date" a měnilo se to pomocí javascriptu).

Jde to udělat nějak elegantněji, nebo musím sáhnout po javascriptu touto cestou?
Kajman
Profil
Měnit type u inputu občas prohlížeče nemají rádi. Ale můžete mít dva inputy a přehazovat viditelnost nebo ten text dát javascriptem absolutně nad input s datumem.
anonymni
Profil *
Máš pravdu, že to dělá bordel. Vytvořil jsem následující kód Živá ukázka a na internet exploeru to bohužel hlásí, neplatný argument, jinak to všude funguje dobře. Tak nevím, jestli tam mám někde chybu v kódu já, nebo to IE prostě neumí. Ještě dodám, že ty inputy se vkládají pomocí shortcodu, takže tam nelze dopsat JS inline zápisem:

onfocus="(this.type='date')"

Proto to tam vkládám pomocí <script></script>

Dávat text nad input bohužel nemůžu, požadavek mám vyloženě aby tam byl placeholder. I v ostatních inputech jsou nadepsaná políčka pomocí placeholderu a nemá se to prý měnit.
Mlocik97
Profil
anonymni:
Tak to urob podla ostatnych políčok.
Tomášeek
Profil
Mlocik97:
Tak to urob podla ostatnych políčok.
Ostatní políčka asi nebudou typu date a budou tedy podporovat placeholder.

anonymni:
požadavek mám vyloženě aby tam byl placeholder.
Požadavek od koho? Chápu, že je požadavek na to, aby to vypadalo podobně (stejně), ale požadavek na atribut placeholder, který na tom elementu zkrátka není podporován, je hloupý.

Máš dvě možnost, jak z toho ven:
1. "placeholder" nebude placeholder, ale něco, co se tak bude tvářit. A pomocí JS i +- podobně chovat.
2. nebude to pole typu date, ale textové, které při aktivaci vyvolá JavaScriptem kalendář. Nevýhodou bude vzhled kalendáře, který nebude výchozí prohlížečový, ale tebou definovaný - všude stejný.
Trejpa
Profil
anonymni:
A co použít value, kterou si uživatel může změnit?
Pokud bys měl obavu, zda uživatel změnil výchozí datum, můžeš změnu pole pohlídat JavaScriptem.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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