Avatar billede macho Praktikant
30. april 2005 - 17:33 Der er 14 kommentarer og
1 løsning

Kan en tekstbox ændre farve når det bliver enablet?

Jeg har en tekstboks (firma), som kun bliver "enabled", såfremt man tidligere har valgt en bestemt alder i en selectboks. Tekstboksen, som er disabled som standard, skal ændre farve fra lysegrå til hvid, så snart den bliver enabled.

Kan det lade sig gøre?

mvh
Avatar billede Slater Ekspert
30. april 2005 - 17:36 #1
Ja, du har vel et script, når selectboksen bliver ændret?

Der kan du bare tilføje en document.getElementById("textbox1").style.background-Color = "nyfarve"

?
Avatar billede elskermad.dk Nybegynder
30. april 2005 - 17:37 #2
lidt ekstra: backgroundColor er uden - og nyfarve ska være med havelåge forrest :)
Avatar billede Slater Ekspert
30. april 2005 - 17:39 #3
hov ja.. jeg kom til at skrive det som CSS format - det hedder backgroundColor

Men mht. havelåge er det ikke korrekt: Hvis du bruger alias farver (f.eks. "red", "green" osv), skal der ingen havelåge foran. Kun hvis du bruger hex-farver, i hvilket fald "nyfarve" naturligvis skal udskiftes med en 3- eller 6-cifret Hex kode.
Avatar billede Slater Ekspert
30. april 2005 - 17:44 #4
.. men tak for rettelsen, elskermad - den var lidt grim ;)
Avatar billede macho Praktikant
30. april 2005 - 17:48 #5
Tak for jeres svar. Jeg må nok bede om lidt mere hjælp!
Det script, som enabler "firma"-feltet ser således ud:

name="aldur" onchange="if(this.value<'14')
            {document.tilmelding.firma.disabled=true}
            else{document.tilmelding.firma.disabled=false}";

Kan ikke få viperines til at virke, når jeg sætter det ind!
Avatar billede Slater Ekspert
30. april 2005 - 17:54 #6
Puh, det bliver grimt som inline, men jeg forsøger..

name="aldur" onchange="if(this.value<'14')            {document.tilmelding.firma.disabled=true;document.getElementById('textbox1').style.backgroundColor='nyfarve'}
            else{document.tilmelding.firma.disabled=false}";

Og så skal du selvfølgelig rette textbox1 til ID'et på din tekstboks, og nyfarve til farven.
Avatar billede Slater Ekspert
30. april 2005 - 17:55 #7
Og så placerer jeg den naturligvis det forkerte sted - hvor disabled = true...

name="aldur" onchange="if(this.value<'14')
{document.tilmelding.firma.disabled=true}
else{document.tilmelding.firma.disabled=false;document.getElementById('textbox1').style.backgroundColor='nyfarve'}";
Avatar billede Slater Ekspert
30. april 2005 - 17:56 #8
Og nu forvirrer jeg mig selv... Hvis det ikke virker, så flyt det til en funktion, så man kan se hvad der sker. Sig lige til.
Avatar billede macho Praktikant
30. april 2005 - 18:15 #9
Det virker meget fint nu! Farve bliver skiftet som det skal nu, men jeg løber ind i et andet lille problem: Lad os sige, at tekstboksen er blevet enablet og har skiftet farve, fordi der er valgt f.eks. 20 i "aldur"-feltet, og man så derefter vælger f.eks. 9 i "aldur"-feltet og feltet igen bliver disablet, så skifter det ikke farve tilbage til det oprindelige; kan det lade sig gøre?

mvh
Avatar billede macho Praktikant
30. april 2005 - 18:20 #10
Okay, så fandt jeg selv ud af det sidste - ud fra viperines oplysninger. Scriptet ser nu således ud:

name="aldur" onchange="if(this.value<'14')
            {document.tilmelding.firma.disabled=true;document.getElementById('firma').style.backgroundColor='cccccc'}
            else{document.tilmelding.firma.disabled=false;document.getElementById('firma').style.backgroundColor='ffffff'}";

Viperine -> smid et svar, så du kan få dine velfortjente pts... ;-)
Avatar billede Slater Ekspert
30. april 2005 - 18:21 #11
Selvfølgelig.. så skal vi bare tilføje endnu en bid kode, til vores i forvejen ret lange linje :)

name="aldur" onchange="if(this.value<'14')
{document.tilmelding.firma.disabled=true;document.getElementById('textbox1').style.backgroundColor='gammelfarve'}
else{document.tilmelding.firma.disabled=false;document.getElementById('textbox1').style.backgroundColor='nyfarve'}";
Avatar billede Slater Ekspert
30. april 2005 - 18:21 #12
Nå, du nåede selv at hitte røv i det... Godt :)

Held og lykke med det.
Avatar billede macho Praktikant
30. april 2005 - 18:22 #13
Endnu en gang mange tak...
Avatar billede elskermad.dk Nybegynder
30. april 2005 - 18:22 #14
det var så lidt viperine - og ja havde ikke lige tænkt på at skrive en farve (sikke nørdet man er ;)

så skal du blot have lavet skiftet i første del af if'en os altså:

name="aldur" onchange="if(this.value<'14')
{document.tilmelding.firma.disabled=true;document.getElementById('textbox1').style.backgroundColor='gammelfarve'}
else{document.tilmelding.firma.disabled=false;document.getElementById('textbox1').style.backgroundColor='nyfarve'}";
Avatar billede Slater Ekspert
30. april 2005 - 18:24 #15
Forresten, bare for optimal kompatibilitet, bør du nok følge elskermad.dk's råd, og sætte en hash (havelåge) foran dine hex-koder. - Dvs. '#ffffff' i stedet for 'ffffff' :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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