webForumDet fria alternativet

Varför funkar bara översta if-satserna?

1 svar · 375 visningar · startad av tovelainen

tovelainenMedlem sedan mars 2003137 inlägg
#1

Hej
jag försöker göra en funktion som skickar ett värde på checkboxar både om de är checked eller inte.
Jag måste alltså få iväg ett true eller false för varje checkbox varje gång nån klickar submit.

Jag gör det genom att låta besökaren klicka i en kvasi-box som skickar sitt värde upp till javascriptet som i sin tur slussar med värdet via ett hidden field med det egentliga variabelnamnet.

Jag får det att funka med den översta checkboxen bara och jag FATTAR INTE VARFÖR!
Om jag alltså sätter en kråka i Apple1-boxen så skickas värdet true (typ) med "Apple". Samma om jag INTE checkat Apple1. Då skickas false.
Dvs så långt funkar det fint.

Men sen funkar det inte med checkboxarna under. Varför?
"Desperat"

<html>
<body>
<script type="text/javascript" language="javascript">
<!--
function box_update(){
if(document.subscribeForm.Apple1.checked){document.subscribeForm.Apple.value=true;}
if(document.subscribeForm.Apple1.checked==false){document.subscribeForm.Apple.value=false;} 
if(document.subscribeForm.Server_Lagring1.checked){document.subscribeForm.Server_Lagring.value=true;}
if(document.subscribeForm.Server_Lagring1==false){document.subscribeForm.Server_Lagring.value=false;}
if(document.subscribeForm.Natverk1.checked){document.subscribeForm.Natverk.value=true;}
if(document.subscribeForm.Natverk1.checked==false){document.subscribeForm.Natverk.value=false;}
if(document.subscribeForm.Programvara_Licenser1.checked){document.subscribeForm.Programvara_Licenser.value=true;}
if(document.subscribeForm.Programvara_Licenser1.checked==false){document.subscribeForm.Programvara_Licenser.value=false;}
if(document.subscribeForm.Datorer1.checked){document.subscribeForm.Datorer.value=true;}
if(document.subscribeForm.Datorer1.checked==false){document.subscribeForm.Datorer.value=false;}
if(document.subscribeForm.Skrivare1.checked){document.subscribeForm.Skrivare.value=true;}
if(document.subscribeForm.Skrivare1.checked==false){document.subscribeForm.Skrivare.value=false;}
}
 //-->
</script>

  <form  action="*" method="post" onsubmit="box_update(this);">
  <!--de hidden boxar som ska skicka det egentlia värdet in i systemet//-->
  <input type="hidden" name="Apple" value="false" />
  <input type="hidden" name="Server_Lagring" value="false" />
  <input type="hidden" name="Natverk" value="false" />
  <input type="hidden" name="Programvara_Licenser" value="false" />
  <input type="hidden" name="Datorer" value="false" />
  <input type="hidden" name="Skrivare" value="false" />
  <!--slut hidden//-->
  <table>
   <tr>
  <td>
<!--Här kommer kvasi-boxarna som testas i javascriptet//-->

<input type="checkbox" name="Apple1" id="Apple1" value="Yes" />Apple<br />
<input type="checkbox" value="Yes" name="Server_Lagring1" id="Server_Lagring1" />Server & Lagring
<input type="checkbox" value="Yes" name="Natverk1" id="Natverk1" />N&auml;tverk
<input type="checkbox" value="Yes" name="Programvara_Licenser1" id="Programvara_Licenser1" />Programvara & Licenser<br />
<input type="checkbox" value="Yes" name="Datorer1" id="Datorer1" />atorer<br />
<input type="checkbox" value="Yes" name="Skrivare1" id="Skrivare1" />Skrivare
</td>
</tr>
</table>
</form>
</body>
</html>
nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Varför ska du ens göra på det viset? Varför inte bara läsa av checkboxarna normalt på serversidan?
Jag ser ett flertal problem med din kod. Ett av dem är att du itne har något formulär med name="subscribeForm"

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)