Avatar billede curriculum Nybegynder
10. februar 2005 - 12:25 Der er 13 kommentarer og
1 løsning

Backgroundcolor på dymaniske textboxes

Jeg har lavet en form til retskrivning med nogle html textbox'e med dynamiske id, hvor tekst skal skrives i. Efter at vedkommende har skrevet tekst i alle felter, skal serveren "validere" (her skal asp.net validerings controllere ikke bruges) feltene via sammenligning af db data og textbox, og hvis et felt mangler eller er forkert stavet, skal dette felt baggrund skifte farve.
Alle textbox'e har deres id fra id-feltet i databasen.

Kan nogen hjælpe mig her ?
Avatar billede christian Nybegynder
10. februar 2005 - 12:50 #1
Jeg går ud fra at du har lavet dine tekst bokse med <asp:textbox id="tbTekst" runat="server" />

Du sætter en farve via:
tbTekst.BackColor = "#CCCCCC";
Avatar billede christian Nybegynder
10. februar 2005 - 12:52 #2
Eller hvis ID'en kommer fra en database:

string tbID = "tbTekst"; // kommer fra databasen
TextBox felt = Page.FindControl(tbID);
felt.BackColor = "#CCCCCC";
Avatar billede christian Nybegynder
10. februar 2005 - 12:52 #3
Ups, det kan godt være den skal type castes
TextBox felt = (TextBox) Page.FindControl(tbID);
Avatar billede curriculum Nybegynder
10. februar 2005 - 12:56 #4
Nej jeg har lavet min textboxe med <input type=text id=(guid)>

Jeg kan godt læse felterne igen med Request.Form.AllKeys, jeg vil bare farve felterne, hvis vedkommende har skrevet forkert...
Avatar billede christian Nybegynder
10. februar 2005 - 13:06 #5
okay, hvis du ikke laver dine ting via asp.net runat="server", så kan du ikke ændre via asp.net så nemt...

Du kan bruge javascript i stedet
<script language="javascript1.2" type="text/javascript">
    document.getElementById("dit guid, skal have gåseøjne uden om sig").style.background = "#CCCCCC";
    document.getElementById("dit guid, skal have gåseøjne uden om sig").style.background = "#CCCCCC";
</script>
Avatar billede christian Nybegynder
10. februar 2005 - 13:09 #6
Det skal måske lige nævnes at scriptet først skal indsættes efter du har indsat dine tekst bokse
Avatar billede curriculum Nybegynder
10. februar 2005 - 13:16 #7
ja, jeg kender den javascript løsning, men er der ingen asp.net løsning, og hvordan skulle jeg putte javascript koden hen i aspx.vb kodefilen.
Avatar billede christian Nybegynder
10. februar 2005 - 13:22 #8
Du kan ikke kommunikere med dine tekst felter hvis ikke de har runat="server" på sig. og det er ikke nok at sige Response.Write("<input type=\"text\" runat=\"server\" />");

Du kan i din skrive:
Page.RegisterStartupScript("etLigeGyldigtNavn", "<script>alert('test');</script>");
Avatar billede curriculum Nybegynder
10. februar 2005 - 13:35 #9
Alle felter har runat=server og hver sit unique id, så det skulle ikke være et problem at kommunikere med dem, det er bare hvordan... og fra aspx.vb kodefilen.
Jeg havde tænkt noget med (guid).ApplyStyle(myStyles)...
Avatar billede curriculum Nybegynder
10. februar 2005 - 13:36 #10
Den Page.RegisterStartupScript forstår jeg ikke...
Avatar billede christian Nybegynder
10. februar 2005 - 13:52 #11
Okay, men så kan du bare bruge en af de måder som jeg viste i starten
(guid).BackColor = "#CCCCCC";

eller

string tbID = "GUID"; // kommer fra databasen
TextBox felt = (TextBox) Page.FindControl(tbID);
felt.BackColor = "#CCCCCC";

BackColor bliver bliver renderet således til klienten <input type="text" style="background:#CCCCCC;" />
Avatar billede curriculum Nybegynder
10. februar 2005 - 14:50 #12
Dun fungerer stadig ikke.. jeg finder ikke min input control...
Min kode, hvis det kan hjælpe at løse problemet...

<input type=text id=(guid)>
...
Dim tbID As String = Convert.ToString(guid)
Dim div As System.Web.UI.Control = CType(Page.FindControl(tbID), HtmlGenericControl)
If TypeOf div Is HtmlGenericControl Then
  CType(div, HtmlGenericControl).Style.Add("background-color", "green")
End If
Avatar billede christian Nybegynder
10. februar 2005 - 15:15 #13
Hvordan indsætter du din input control?
Avatar billede curriculum Nybegynder
16. marts 2005 - 13:58 #14
på en label...
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