Inline labels i asp.net

Tags:    asp.net jquery

Jeg har brug for, at lave inline labels i nogle asp.net textboxes. Et eksempel hvor der bruges jquery kan ses her: http://www.4templates.com/website-templates/642699729-WT00785/demo/#blue

Her har e-mail og password felterne det jeg kalder inline labels, og som forsvinder når man klikker på feltet. I eksemplet er der brugt et jquery plugin som hedder jquery.formerize.

Mit spørgsmål er nu, hvordan laver man inline labels på en asp.net textbox uden brug af det jquery.formerize som jo kun virker på forms?



6 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 26 karma
Sorter efter stemmer Sorter efter dato
Hvad med at kigge på asp.net ajax, der kan du bruge TextBoxWatermark, som netop er lavet til det formål:

asp.net ajax - TextBoxWatermark



Her er et plugin til jquery der af hjælper dette problem.

Fold kodeboks ind/udJScript kode 


Title angiver default teksten.

Fold kodeboks ind/udHTML kode 


jQuery kode der sætter autofill på de angivede værdier.

Fold kodeboks ind/udJScript kode 




Hvad siger panelet til denne metode:

Min textbox er

<asp:TextBox ID="TextBox_LoginBrugernavn" Text="Brugernavn" class="password" MaxLength="18" runat="server"></asp:TextBox>

og så i sidens page_load metoder laver jeg en:

this.TextBox_LoginBrugernavn.Attributes["onclick"] = "this.value=''";


Har jeg overset noget farligt her? Det virker fint, men måske har jeg overset noget.

*edit*

Jeg havde overset noget. Password input felter kan ikke have defaultværdier :-(

Så en anden løsning søges stadigvæk



Indlæg senest redigeret d. 16.03.2012 20:39 af Bruger #9814
Fedt, tusind tak begge to. I har reddet min aften :-)



Alternativt kan du bruge HTML5 attributten placeholder på input felter. <input type="text" placeholder="Hej Brian!">

Det kommer an på hvor vigtigt det er at vise det til browsere som ikke det. Evt kan man supplere med et javascript fallback. Hvis du loader det med yepnope / modernizr for browsere som ikke understøtter placeholder attributten. Og det bedste ved det hele er, at placeholder attributten stadig er i DOM selvom browseren ikke understøtter den. Med jQuery kunne du loope over alle input felter med en placeholder attribut, og gøre noget der gav mening med den - et eksempel på det:

Fold kodeboks ind/udJScript kode 


Eller måske bare lave en funktion på input med placeholder og textarea med placeholder og focusin/focusout events.

Eller du kan bruge et fallback som findes i forvejen. Der er links til flere her og det er vel også en slags reference for mit indlæg :-) http://html5please.com/#input[placeholder]



Her er et plugin til jquery der af hjælper dette problem.


Det virker fint, men der er et enkelt issue omkring password-feltet. Teksten vises fint ved page load, men klikker man i feltet og derefter i et andet felt, så kommer teksten ikke tilbage igen.

Det ser ud til at det kun er felter at typen "password" som har problemet. Alm. input felter af typen text har ikke problemet.




t