webForumDet fria alternativet

Olika färger vid onBlur och onFocus

JavaScript

1 svar · 269 visningar · startad av ejick

Medlem sedan mars 2001895 inlägg
Frågan#1

Hej,

jag sitter och pillar med en input som jag vill ska innehålla en ledtext i en viss färg, men denna ledtext ska försvinna när man markerar textfältet och det man då skriver ska ha en annan färg. Så långt har jag löst det hela, men jag vill ha det lite annorlunda.

Jag skriver in ett ord, avmarkerar sedan textfältet som då ska vara kvar i samma färg som när jag började skriva och det var markerat. Markerar jag fältet, det blir tom, och jag inte skriver någonting utan avmarkerar det, ska ledtexten komma fram istället.

Lite svårt att förklara men det jag gjort är följande:

<style>
.default-search-field {
    color: #CCC;
}
.current-search-field {
    color: #C00;
}
</style>
...
<form>
  <input type="text" name="s" value="HEJ!" class="default-search-field"
  onFocus="if (this.value==this.defaultValue) this.value='';this.className='current-search-field';"
  onBlur="if (this.value=='') this.value=this.defaultValue;this.className='default-search-field';" />
</form>

Jag skulle vilja lägga till kodsnutten

else if (this.value != this.defaultValue) this.className='current-search-field';

eller liknande i onBlur, men det funkar inte.

Undrar även om man kan göra det som en scriptfil och inte behöver ha all information i input-taggen.

Någon som har koll på hur man ska göra?

Tacksam för hjälp!

Medlem sedan dec. 20042 245 inlägg
#2

Färgen kan du nog göra med CSS:

input:focus { ... }

I Safari kan man få ledtexten genom att använda

<input placeholder="HEJ!">

Se http://www.webforum.nu/showthread.php?t=161005 för att få placeholder att funka i andra webbläsare.

285 ms totalt · 3 externa anrop · v20260731065814-full.a4a6ad0e
143 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)