Avatar billede fidusen Nybegynder
23. august 2001 - 18:28 Der er 7 kommentarer og
1 løsning

Enable/disable INPUT vha SELECT

Hvordan får man den til at enable et INPUT-felt (\"linkandet\"), når SELECT er på en bestemt option(\"Andet\")?

function tjekAndet(){
SelNumber = document.linkform.linkkategori.selectedIndex;
SelValue = document.linkform.linkkategori.options[SelNumber].value;
if (SelValue == \"Andet\"){
document.linkform.linkandet.____;
}
}

<SELECT name=\"linkkategori\">
<OPTION value=\"Andet\">Andet</OPTION>
</SELECT>

<INPUT type=\"text\" name=\"linkandet\" size=\"20\" disabled>

Jeg tror alt er rigtigt, men jeg mangler lige et ord i stedet for \".____\" (Enable virker ikke :o)

How do I do shis?

Bonus-spørgsmål: Hvordan laver jeg det disablede felt gråt? (Uden CSS)
Avatar billede Slettet bruger
23. august 2001 - 18:43 #1
Sådan skal det se ud:

function tjekAndet(){
SelNumber = document.linkform.linkkategori.selectedIndex;
SelValue = document.linkform.linkkategori.options[SelNumber].value;
if (SelValue == \"Andet\"){
document.linkform.linkandet.disabled = false;
}
}
Avatar billede Slettet bruger
23. august 2001 - 18:44 #2
Hvad mener du med gråt? Det er vel gråt, når det er disabled?
Avatar billede fidusen Nybegynder
24. august 2001 - 14:19 #3
Det virker!
Men feltet er ikke gråt, bare fordi det er disabled... - I hvert fald ikke i mit IE 5.5?
Jeg tror der er en lignende metode ligesom disabled, der gør, at det samtidig bliver gråt...?
- FiDuSeN -
Avatar billede Slettet bruger
25. august 2001 - 12:23 #4
I følge min JavaScript reference, kan man ikke bare gøre sådan et felt gråt. I hvert fald ikke uden CSS. Hvis du vil have lavet et script, der ændrer baggrundsfarven via CSS, så er jeg her!
Avatar billede fidusen Nybegynder
25. august 2001 - 20:44 #5
Kan du evt. bygge det ind i javascript-funktionen?
F.eks. med ...linkandet.style = \"color:xxx;\"
Hvis du kan ville det være multi lækkert...
Avatar billede Slettet bruger
26. august 2001 - 10:29 #6
Så skal scriptet se således ud:

<script>
<!--
if (document.layers) {
brw = document.linkform.linkandet;
}
else {
brw = document.linkform.linkandet.style;
}

brw.backgroundColor = \"#CCC\";

function tjekAndet(){
SelNumber = document.linkform.linkkategori.selectedIndex;
SelValue = document.linkform.linkkategori.options[SelNumber].value;
if (SelValue == \"Andet\"){
document.linkform.linkandet.disabled = false;
brw.backgroundColor = \"#FFF\";
}
else {
document.linkform.linkandet.disabled = true;
brw.backgroundColor = \"#CCC\";
}
}
//-->
</script>

Vær opmærksom på, at scriptet skal stå UNDER din <form>, da det først skal kende din form, før det kan gøre det disablede felt gråt.

Jeg har gjort sådan, at når man vælger option\'en der hedder \"Andet\", så skifter det disablede felt til at være hvidt og enabled. Og når man vælger en hvilken som helst anden option, så skifter feltet til at være disabled og gråt igen.

Hvis du ikke vil have det sådan, så er jeg frisk på at skrive det om igen!
Avatar billede fidusen Nybegynder
26. august 2001 - 19:05 #7
Det er perfekt!

Jeg satte lige denne ekstra linie ind (efter den første if-del):

document.linkform.linkandet.disabled = true;

Så feltet er disabled fra start. Ellers kunne man skrive i feltet lige når siden var loadet. (Man havde jo ikke kaldt funktionen, der disblede det :o)

Tusind tak for hjælpen!
Points commin\' your way...

- FiDuSeN -

PS: Ved du hvor man kan finde en oversigt el.lign. over javascripts\' navne for css-ting (ligesom .backgroundColor)?
Avatar billede Slettet bruger
26. august 2001 - 19:20 #8
Du kan også bare skrive \"disabled\" i dit input felt, så kræver det jo ikke javascript.
Med hensyn til, hvad javascript kalder css-ting, så gælder følgende regler:
1. Alt på ét ord (som fx left, color eller border) forbliver uændret.
2. Alt med bindestreg (som fx background-color, font-family eller border-left-width) bliver omskrevet sådan, at det første ord bliver med småt forbogstav, og de næste bliver med stort (som fx backgroundColor, fontFamily og borderLeftWidth).
Hvis du vil have en reference over CSS, så kan jeg anbefale HTMLib på www.htmlib.com !!!

P.S. Mange tak for points!
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