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

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
Hvorfor er min checkboc altod "on" ?
Fra : Stefan Kristensen


Dato : 17-07-03 14:07

Hej NG.
Jeg har en side med en checkbox. Når siden subittes, vil jeg lave boxen on
til true/false, men værdien af boxen er altid on, også når den ikke er
krydset af? Er der nogle goder ideer?

mvh
Stefan

<html>
<form name=frm>
<input type=checkbox name=chk>
<input type=button name=cmd value=DoIt>
<script language=vbscript>
sub cmd_onclick()
msgbox frm.chk.value
end sub
</script>
</form>
</html>



 
 
Jens Gyldenkærne Cla~ (17-07-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-07-03 14:20

Stefan Kristensen skrev:

> Jeg har en side med en checkbox. Når siden subittes, vil jeg
> lave boxen on til true/false, men værdien af boxen er altid
> on, også når den ikke er krydset af? Er der nogle goder ideer?

<input type="checkbox" name="chk" id="chk" value="true"
checked="checked" />


Du kan ikke få en checkboks til at være true/false eller on/off -
der kan kun submittes én værdi. Hvis boksen er hakket af submittes
værdien angivet i value (eller "on" hvis value ikke er angivet) -
ellers submittes ingen værdi.

> <form name=frm>
> <input type=checkbox name=chk>
> <input type=button name=cmd value=DoIt>
> <script language=vbscript>
> sub cmd_onclick()
> msgbox frm.chk.value
> end sub
> </script>

frm.chk.value er ikke hvad der submittes fra din checkboks - men
hvad der _kan_ submittes fra den.

NB: Ovenstående er IE-only - er der nogen grund til det?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Stefan Kristensen (17-07-2003)
Kommentar
Fra : Stefan Kristensen


Dato : 17-07-03 16:17

> NB: Ovenstående er IE-only - er der nogen grund til det?
Næh... Hvad er der IE-only, og hvad skal der til for at det ikke er det?



Jens Gyldenkærne Cla~ (17-07-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 17-07-03 21:08

Stefan Kristensen skrev:

> Næh... Hvad er der IE-only, og hvad skal der til for at det
> ikke er det?

| <input type=button name=cmd value=DoIt>

Javascript understøtter ikke automatisk eventnavngivning. Hvis der
skal ske noget når du klikker på knappen, skal du bruge onclick-
eventen på button-elementet:

<input type="button" name="cmd" value="DoIt" onClick="cmd_onclick">


| <script language=vbscript>

- vbscript er MS' proprietære implementation af
javascript/ecmascript. Language er i øvrigt afløst af type:

<script type="text/javascript">

| sub cmd_onclick()

Javascript har ikke sub <navn> ... end sub, men derimod function
<navn>() { ... }

msgbox frm.chk.value

Msgbox findes ikke i javascript - her hedder det alert. Frm.chk er
heller ikke en standardiseret måde at få fat i et formelement på.
document.forms['formnavn'].elements['elementnavn'] virker derimod.
Ret til:

alert(document.forms['frm'].elements['chk'].value);

(linjer der ikke er parantesbegyndelser eller -afslutninger skal
afsluttes med semikolon).

NB: Hvis du hellere vil have dialogboksen til at vise om
checkboksen er hakket af, kan du skrive:

alert(document.forms['frm'].elements['chk'].checked);


Den færdige udgave kan ses her:

**************************************
<form action="" name="frm" id="frm">
<input type="checkbox" name="chk" id="chk" value="true">
<input type="button" name="cmd" value="DoIt"
onClick="cmd_onclick();">
<script type="text/javascript">
   function cmd_onclick(){
      alert(document.forms['frm'].elements['chk'].checked);
   }
</script>
</form>
**************************************

Den virker i alle gængse browsere med javascript - herunder IE,
Netscape (4.x-serien), Mozilla/Netscape og Opera.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Stefan Kristensen (17-07-2003)
Kommentar
Fra : Stefan Kristensen


Dato : 17-07-03 22:07

> Javascript understøtter ikke automatisk eventnavngivning. Hvis der
<snip>
> <script type="text/javascript">
<snip>
> Javascript har ikke sub <navn> ... end sub, men derimod function
<snip>
> Msgbox findes ikke i javascript - her hedder det alert. Frm.chk er
<snip>
Tak for de uddybende forklaringer. Jeg havde ikke lige tænkt på at vbscript
kræver M$ IExplorer

> Den færdige udgave kan ses her:
Du er da en flinker fyr. Jeg bukker og takker

mvh
Stefan



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

Månedens bedste
Årets bedste
Sidste års bedste