/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
disable select når checkbox = checked
Fra : Peter Nielsen


Dato : 31-05-05 19:07

Ja.. håber at headen ku sige det meste... er så meget newbie til javascript,
men prøvede jo alligevel og kom op med det her:

<script>
function test()
{
if(document.form1.menu.checked = true)
document.form1.ref_id.disabled = true;
else
document.form1.ref_id.disabled = false;
}
</script>
<form name="form1">
<input type="checkbox" name="menu" value="on" onchange="test();">
<select name="ref_id">
<option value="value1">val1</option>
<option value="value2">val2</option>
<option value="value3">val3</option>
</select>
</form>

Altså.. select boxen skal være disabled når checkboxen er checked.. og så
skal man kunne unchecke checkboxen igen og så er den ik disabled længere..
og det er der det slår fejl... den vil ik enable den igen... nogle der har
nogle ideer?

Peter



 
 
Ukendt (31-05-2005)
Kommentar
Fra : Ukendt


Dato : 31-05-05 19:25

Peter Nielsen wrote:
> <script>
> function test()
> {
> if(document.form1.menu.checked = true)
> document.form1.ref_id.disabled = true;
> else
> document.form1.ref_id.disabled = false;
> }
> </script>

Du glemmer her at teste om checkboxen er checked. I stedet sætter du den
til checked, hvilket gør, at du slet ikke kan afkrydse den igen.
Husk at et enkelt ligmed-tegn bruges når "noget skal sættes lig noget
andet", mens et dobbelt-ligmedstegn bruges til at finde ud af om "noget
er lig noget andet".

Dvs. dit script burde se sådan ud:
<script type="text/javascript">
function test()
{
if(document.form1.menu.checked == true)
document.form1.ref_id.disabled = true;
else
document.form1.ref_id.disabled = false;
}
</script>

Læg mærke til at du bør sætte en type på dit script-tag, selvom det i de
fleste browsere er underforstået, at der er tale om javascript. Faktisk
kan du også helt undlade det dobbelte ligmedstegn:
if(document.form1.menu.checked)
Dette betyder det samme som ovenover, hvor "== true" er implicit.
> <form name="form1">
> <input type="checkbox" name="menu" value="on" onchange="test();">
> <select name="ref_id">
> <option value="value1">val1</option>
> <option value="value2">val2</option>
> <option value="value3">val3</option>
> </select>
> </form>

En endnu lettere måde kunne her være at skrive:
<form name="form1">
<input type="checkbox" name="menu" value="on"
onclick="this.form.ref_id.disabled = this.checked">
<select name="ref_id">
<option value="value1">val1</option>
<option value="value2">val2</option>
<option value="value3">val3</option>
</select>
</form>

Martin Hintzmann And~ (31-05-2005)
Kommentar
Fra : Martin Hintzmann And~


Dato : 31-05-05 20:50

Peter Nielsen wrote:
>
> nogle der har nogle ideer?
>

Blot til info...

Den måde du tilgår elementerne på er the IE-way.
Du bør istedet benytte forms og elements collectionerne, det er
uderstøttet i samtlige browsere inkl. IE.

D.v.s. istedet for følgende:
document.form1.menu

skal du tilgå form elementerne således:
document.forms["form1"].elements["menu"]

--
Martin Hintzmann Andersen
http://www.hintzmann.dk/

Peter Nielsen (02-06-2005)
Kommentar
Fra : Peter Nielsen


Dato : 02-06-05 21:02

Jeg siger mange mange tak til jer begge to... lidt svært at vide det med ==
og = når man er selvlært og kun ka ASP... Der ska man jo ik den slags pjat i
;)

Peter

"Martin Hintzmann Andersen" <no@spam.invalid> skrev i en meddelelse
news:429cbfc3$0$18636$14726298@news.sunsite.dk...
> Peter Nielsen wrote:
> >
> > nogle der har nogle ideer?
> >
>
> Blot til info...
>
> Den måde du tilgår elementerne på er the IE-way.
> Du bør istedet benytte forms og elements collectionerne, det er
> uderstøttet i samtlige browsere inkl. IE.
>
> D.v.s. istedet for følgende:
> document.form1.menu
>
> skal du tilgå form elementerne således:
> document.forms["form1"].elements["menu"]
>
> --
> Martin Hintzmann Andersen
> http://www.hintzmann.dk/



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste