Avatar billede mach3 Nybegynder
14. januar 2005 - 23:38 Der er 10 kommentarer og
1 løsning

TextBox: Premarkeret tekst?

Hej,

hvis man har en TextBox i Asp.net, hvordan kan man så vælge hvad der skal være skrevet på forhånd inde i boksen når man kommer ind på siden? Jeg har prøvet med text = "skriv venligst her" men det skal være markeret. Sådan så at når man begynder at skrive i feltet slettes det gamle automatisk. Som jeg har det nu står teksten der bare, og det er lidt irriterende at man selv skal markere teksten og slette den før man kan skrive det man vil.

Hvordan gør man så teksten er premarkeret?

Mvh
Avatar billede mach3 Nybegynder
14. januar 2005 - 23:39 #1
Ej det var ikke meningen den skulle give 0 point - det er en fejl. Har man mulighed for at ændre det - vil gerne have nogle svar :-)
Avatar billede burningice Nybegynder
15. januar 2005 - 00:37 #2
det nemmeste at gøre er at bruge dette trick:

<input name="txtSubject" type="text" value="En fødselsdsagshilsen til Allan" id="txtSubject" class="MsgBox" onClick="java script: if(this.value == 'En fødselsdsagshilsen til Allan') this.value='';" onBlur="java script:  this.value = (this.value == '') ? 'En fødselsdsagshilsen til Allan' : this.value ;" style="width:400px;" />
Avatar billede mach3 Nybegynder
15. januar 2005 - 16:47 #3
ok tak for det.

men er der ikke noget indbygget i asp.net der kan gøre det?
Avatar billede burningice Nybegynder
15. januar 2005 - 16:57 #4
... nej. men du kan jo bare lave din egen texbox der er implementere funktionaliteten.
Avatar billede mach3 Nybegynder
15. januar 2005 - 16:59 #5
det har jeg ikke prøvet før :-)

har du et link til et sted man kan læse om det?
Avatar billede burningice Nybegynder
15. januar 2005 - 17:43 #6
public class SmartTextBox : System.Web.UI.WebControls.TextBox
    {
        private string startText;

        public SmartTextBox() : base() {}

        public string StartText
        {
            get { return this.startText; }
            set { this.startText = value; }
        }

        protected override void Render(System.Web.UI.HtmlTextWriter writer)
        {
            if (this.startText != null)
            {
                if (this.startText != String.Empty)
                {
                    this.Text = this.startText;
                    this.Attributes.Add("onClick", "java script: if(this.value == '"+ this.startText +"') this.value='';");
                    this.Attributes.Add("onBlur", "java script:  this.value = (this.value == '') ? '"+ this.startText +"' : this.value '';");
                }
            }

            base.Render (writer);
        }
    }
Avatar billede burningice Nybegynder
15. januar 2005 - 17:44 #7
:) så fik jeg også lavet den... den har jeg ville lavet længe... du ved, det med at tage sig samme ;)
Avatar billede mach3 Nybegynder
16. januar 2005 - 11:06 #8
cyberfessor >>

det er super :-) har først lige set det, prøver det senere på dagen.
Avatar billede mach3 Nybegynder
16. januar 2005 - 16:16 #9
jeg har i første omgang blot benyttet dit første eksempel - det virker fint. kan man få det til at være markeret med blåt? det er dog ikke så vigtigt.

jeg ville meget gerne have givet point for det, men fik oprettet spørgsmålet forkert med 0 point. kan man lave om på det?
Avatar billede burningice Nybegynder
16. januar 2005 - 16:33 #10
mit kodeeksempel renderer egentlig samme output som i mit første eksempel. det skal bruges sådan her

<tag:SmartTextBox id="txtNoget" StartText="Noget tekst" runat="server" />

Det er sq lige meget med point. Bare giv mig et accepteret svar, så er jeg glad :)

Ang. markeringen, så kan man vist godt lavet noget gejl i javascript, men ikke nogen jeg umiddelbart kan huske på stående fod.
Avatar billede mach3 Nybegynder
16. januar 2005 - 16:52 #11
tak
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester