Avatar billede Slettet bruger
09. september 2002 - 14:15 Der er 10 kommentarer og
1 løsning

Hvis valgt i dropdown - tekstfelt aktiv

Hej...

Jeg har en dropdown med en række valgmuligheder i. Derudover har jeg et tekst-felt der som udgangspunkt er "disabled".

Det jeg ønsker er at når man vælger et specielt punkt i dropdown-menuen skal feltet gøres aktivt (disabled=false)
Avatar billede nikolajdu Nybegynder
09. september 2002 - 14:20 #1
<script>
function enable(hvad){
document.f.elements[hvad].disabled = false
}

</script>
<form name="f">
<select name="s" onchange="enable(this.options[this.selectedIndex].value)">
<option name="o1" value="t1">felt 1</option>
<option name="o2" value="t2">felt 2</option>
<option name="o3" value="t3">felt 3</option>
</select>
<input type="text" name="t1" disabled value="t1">
<input type="text" name="t2" disabled value="t2">
<input type="text" name="t3" disabled value="t3">
</form>

/Nikolaj
Avatar billede jakoba Nybegynder
09. september 2002 - 14:20 #2
<input type='text' name='styretfelt'>

<select onchange="this.form.styretfelt.disabled=(this.selectedIndex==5);">

nu bliver feltet disablet hvis den option der har index 5 vælges. bemærk at <option indexerne tælles fra 0, så det er det vi på menneskesprog ville kalde det sjette punkt.

mvh JakobA
Avatar billede nikolajdu Nybegynder
09. september 2002 - 14:22 #3
eller måske bedre :

<select name="s" onchange="if(this.options[this.selectedIndex].value!='Vælg'){enable(this.options[this.selectedIndex].value)}">
<option name="o0" value="Vælg">Vælg</option>
Avatar billede Slettet bruger
09. september 2002 - 14:26 #4
jakoba > den bliver aktiv lige meget hvilken option man vælger?!
Avatar billede jakoba Nybegynder
09. september 2002 - 14:28 #5
det tror jeg ikke på :-)) må vi se din kode ?
Avatar billede Slettet bruger
09. september 2002 - 14:31 #6
Det er når man vælger option 1:

<select name="slags">
<option value="0">V&aelig;lg her...</option>
<% if (admin = true) OR (admin = 1) then
response.write "<option value=""1"">Punkt1</option>"
end if %>
<option value="2">Punkt2</option>
<option value="3">Punkt3</option>
<option value="4">Punkt4</option>
<option value="5">Punkt5</option>
<option value="6">Punkt6</option>
<option value="7">Punkt7</option>
</select>

<% if (admin = true) OR (admin = 1) then %>
<input type="text" name="banner" size="25" disabled>
<% end if %>
Avatar billede jakoba Nybegynder
09. september 2002 - 14:38 #7
du ha jo slet ikke kommet nogen onchange event i den select kommando:
    <select name="slags">

her hvor de forskellige options ikke har faste placeringer er vi nødt til at teste på den options value, istedet for blot dens index.

<select name="slags" onchange="this.form.styretfelt.disabled=(this.options[this.selectedIndex].value=='1');">

mvh JakobA
Avatar billede Slettet bruger
09. september 2002 - 14:42 #8
nej nej det var jo MIN kode :-)

Hvis (og jeg HAR prøvet) jeg sætter :

<select name="slags" onchange="this.form.banner.disabled=(this.options[this.selectedIndex].value=='1');">

ind - og klikker på hvilken som helst option bliver feltet "banner" aktivt
Avatar billede Slettet bruger
09. september 2002 - 14:49 #9
Hvo - jeg tror den bare er vendt om - alle options UNDTAGEN nr 1 gør feltet aktivt - men det var KUN felt et der skulle gøre det!
Avatar billede jakoba Nybegynder
09. september 2002 - 14:59 #10
så lav sammenligningen med  !=  (ikke ligmed)  istedet for == (lig med)

<select name="slags" onchange="this.form.banner.disabled=(this.options[this.selectedIndex].value!='1');">
Avatar billede Slettet bruger
09. september 2002 - 15:00 #11
ok - virker! 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
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