Autor Zpráva
Kubajjz
Profil *
Zdravím.

Mám klasický formulář, kde jedno políčko vypadá takhle:
<input name="jmeno" maxlength="50" value="Jméno a Příjmení" onclick="this.value='';"/>

Takže políčko formuláře je před-vyplněno, ale po kliknutí se vše smaže. Tak to přesně chci, ale problémem je, když to uživatel vyplní a do pole klikne ještě jednou, tak se mu opět vymaže. Takže bych potřeboval, aby se hodnota vymazala pouze jednou.

Těchto polí je ve formuláři více a chtěl bych, aby všechny fungovala stejně.

Díky.
_es
Profil
Kubajjz:
Toto je teda „vylepšenie“!
Čo návštevníci bez JS - tí to budú musieť ručne mazať.

Těchto polí je ve formuláři více
A ak ich návštevník všetky vyplní a pred odoslaním si to bude chcieť ešte skontrolovať, ako si overí, či omylom nejakú hodnotu nezapísal do nesprávneho poľa, ak informácie o účelu polí budú zmazané?
Kubajjz
Profil *
Na to se tě neptám, chytráku, když nechceš poradit, tak mlč.
Ikdyž budou mít lidé vypnutý JS, tak se to jenom nevymaže, to je hnus, co?
_es
Profil
Kubajjz:
když nechceš poradit, tak mlč.
Už ma to prešlo, možno ti poradí niekto iný.
BuGeR
Profil
Použij podmínku. Napíšu ti ji slovy:
"Pokud hodnota pole odpovídá Jméno a Příjmení, smaž hodnotu."
Chamurappi
Profil
Reaguji na Kubajjze:
Proč onclick? Proč ne onfocus? Proč nehledáš? Našel bys — zdaleka nejsi první, kdo to řeší.

Na to se tě neptám, chytráku, když nechceš poradit, tak mlč.
Nebylo by rozumnější a slušnější zeptat se ho, jestli neexistuje lepší řešení, než mu vynadat, že nesplnil tvé zadání, šéfe?


Reaguji na BuGeRa:
Pokud hodnota pole odpovídá Jméno a Příjmení“
Raději pokud hodnota pole odpovídá výchozí hodnotě (tedy defaultValue).
BuGeR
Profil
Chamurappi:
Taky řešení :-)
Kubajjz
Profil *
Ano, hledám to už od rána a moc se mi to nedaří.... A jelikož javascript neovládám, a ani nechci, tak jsem si dovolil napsat dotaz zde. Myslel jsem si, že k tomu fóra slouží, že zkušenější a lepší radí těm, co mají problém. Mýlil jsem se a už se psát nebudu, díky.

Nakonec jsem si řešení našel ve zdrojových kódech jiných stránek, ale jednoduché to pro mne nebylo. Zbytečně jsem tím zabil celé dopoledne, místo toho, abyste mi napsali řešení. Za což Vám velice děkuji!!!

Pro ty, co mají podobný problém a hledají řešení, tak jsem "vyrobil" toto:

<input name="jmeno" id="jmeno" maxlength="50" value="Jméno a Příjmení" onClick="if(this.value=='Jméno a Příjmení')this.value='';"/>

Připomínky si nechte...
Sbohem.
BuGeR
Profil
Kubajjz:
Nesváděj to na zdejší uživatelé, když nevíš, jak se ovláda auto, tak jak ho chceš řídit?
Chamurappi
Profil
Reaguji na Kubajjze:
hledám to už od rána a moc se mi to nedaří
Teď jsem ti dal dvě klíčová slova. Výsledky hledání na diskusi:
Zmizení textu po kliknutí v inputu.
Změna barvy textu při onfocus
Hodnota textarey a onfocus a onblur
Textové pole - jak správně smazat hodnotu po kliknutí
Změna textu v INPUTu po kliknutí
obsah inputu pri onFocus a onBlur
Po kliknutí myši do pole formuláře vymazat/nahradit obsah
Zrušení výchozí hodnoty <input>u při kliknutí

jelikož javascript neovládám
Myslím, že minimálně v novějších prohlížečích (od Exploreru 7) to jde udělat i bez JavaScriptu.

Pro ty, co mají podobný problém a hledají řešení, tak jsem "vyrobil" toto
To je ošklivé. Proč nepoužiješ defaultValue? A proč furt používáš ten onclick?
_es
Profil
Kubajjz:
co mají podobný problém a hledají řešení, tak jsem "vyrobil" toto:
Čo ak sa na pole návštevník premiestni pomocou tabulátoru?

místo toho, abyste mi napsali řešení
Dostal si konkrétne rady ([#6], toto a iné), ktoré aj tak ignoruješ. Rada nemusí byť len kompletný kód.
anonymní
Profil *
ja bych na tom inputu pouzil placeholder="Jméno a příjmení" ... když už tu máme to HTML5, tak proč ho nepoužívat ;o)
Chamurappi
Profil
Reaguji na anonymního:
Protože to nefunguje ve všech prohlížečích. Sama existence specifikace rozhodně je velice chabý důvod k používání.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0