Obarveni INPUT
7 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Zdravim! Ve formulari mam policko INPUT type="text". Chtel bych, aby po nacteni stranky v nem bylo napriklad sedou barvou napsano "Sem vepiste jméno". Po kliknuti na policko by text "Sem vepiste jmeno" zmizel a uzivatel by napsal svoje jmeno, ovsem cernou barvou. Moc dik za help
-
neni to trochu zbytečný, stačí to přece oboje černou ale jinak ti neporadim
-
VzA, skoro dobře, akorát to nefunguje v mozille. Zkoušel jsem to upravit na: <form action=""> <input type="text" size="30" id="code" value="Sem vepište jméno" style="color:#666666" onclick="document.getElementById('code').value='';style.color='#000000'" /> </form> tak to sice funguje v IE i mozille, ale v mozille tohlásí nějakou ošklivou chybu. (není sice normálně vidět, ale v jsconsole je.) Tak nevím. Navíc se tam musí dostat myší, tak možná to dát ne jako onclick, ale onfocus. Nevím, chce to zkusit.
-
VzA: Ano, presne k tomuto jsem se dostal take. Ovsem ten script ma jeden podstatny bug: Po nacteni stranky a kliknutim mysi do inputu se vse provede OK. Ted tam neco napis. Do teto chvile to je stale ok. Ovsem kdyz napises ten text chybne a chces ho opravit, tak po kliknuti mysi na input ti cely zmizi a musis to psat cele znovu. Chtelo by to jeste nejak vylepsit.
-
Pri inline js by som to spravil takto: <input type="text" value="Sem vepište jméno" style="color:#666" onfocus="if(!this.flag){this.value='';this.style.color='#000';this.flag=true}" /> Rieši to síce pár spomenutých chýb (focus namiesto click, vymazanie textu po druhom focuse, ide to aj v Mozille), ale nepáči sa mi na tom, že je to inline a musí sa to písať do každého inputu. Skôr by som spravil externý js: function addEvent (el, evname, func) { if (el.attachEvent) el.attachEvent ("on" + evname, func); else if (el.addEventListener) el.addEventListener (evname, func, true); else el ["on" + evname] = func; }; function setupInputText (input) { input.style.color = "#666"; addEvent (input, "focus", function () { if (input.initialized) return; input.value = ""; input.style.color = "#000"; input.initialized = true; }); } a body onload="setup()", pričom setup() by bol priamo na stránke a vyzeral by napr. takto: function setup () { var inputs = document.getElementsByTagName ("input"); for (var i = 0; (input = inputs [i]); ++i) if (input.type = "text") setupInputText (input); } Je to síce trochu dlhšie, ale pri použití na viacerých stránkach jednoduchšie a napr. pri vypnutom js nezostane text šedý. A možno by stačilo iba toto: <input onfocus="this.select()" type="text" value="Sem daj priezvisko" name="priezvisko" />
-
tak to doplň porovnáním obsahu, ne? pokud je v textoxu napsáno "vložte text", tak se vymaže, jinak ne... jedna stupidní podmínka...
-
nebo porovnání barvy textu. Když to bude šedé, tak to smaž, když černé, tak ne.