Avatar billede jems Nybegynder
22. august 2001 - 13:08 Der er 10 kommentarer og
2 løsninger

Variabler

Hejsa :)

Jeg har følgende kode:

<html>
<head>
<title>Rediger sp&oslash;rgsm&aring;l og svar</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<link rel=\"stylesheet\" href=\"styles.css\" type=\"text/css\">
</head>
<body bgcolor=\"#CCCCCC\" text=\"#000000\" class=tekst body onload=\"changeStuff(document.form.SpmType.options[document.form.SpmType.selectedIndex].value);\">
<form name=\"form\" method=\"post\" action=\"update_sporgsmal.asp?SpmID=<%=SpmID%>\">
  <div align=\"center\">
    <table width=\"100%\" border=\"0\" class=\"tekst\">

      <tr>
        <td id=\"andet\" valign=\"top\" colspan=\"2\" height=\"30\">
        <%
Dim AndetID, AndetCheck
    AndetID = RSSQ3(\"Andet_id\")
    If AndetID = 1 then
      Response.Write \"<input type=\"\"checkbox\"\" name=\"\"CheckAndet\"\" value=\"\"1\"\" checked>\"
      AndetCheck = \"checked\"
    Else
      Response.Write \"<input type=\"\"checkbox\"\" name=\"\"CheckAndet\"\" value=\"\"1\"\">\"
      AndetCheck = \"unchecked\"
    End If
    AndetStr = RSSQ3(\"Stoerrelse_andet\")
    Response.Write AndetCheck
%>
          Tilf&oslash;j &quot;Andet&quot; felt, st&oslash;rrelse <input type=\"text\" name=\"StrAndet\" size=\"3\" maxlength=\"3\" value=\"<%=RSSQ3(\"Stoerrelse_andet\")%>\">
          max 70</td>
      </tr>
     
    </table>
      <input type=\"submit\" name=\"okknap\" value=\" Ok \">
      <input type=\"reset\" name=\"sletallefelterknap\" value=\"Fortryd ændringer\">
      <input type=\"button\" name=\"fortrydknap\" value=\"Fortryd\" onClick=\"java script:self.close();\">
  </div>
</form>

<SCRIPT LANGUAGE=\"JavaScript\">
var svar, svarTemp
var andetCheckTemp, AndetCheck, AndetStrTemp
var kommentarCheckTemp, KommentarCheck, KommentarStrTemp

svarTemp = document.form.Svar.value

DISSE FIRE GIVER FEJL:
andetCheckTemp = document.form.AndetCheck.value
kommentarCheckTemp = document.form.KommentarCheck.value
AndetStrTemp = document.form.AndetStr.value
KommentarStrTemp = document.form.KommentarStr.value

function changeStuff(choice) {

    if (choice == \'1\') {
        document.all.venstre.innerHTML = \'<b>Svar p&aring; sp&oslash;rgsm&aring;l:<br>(Nyt svar p&aring; hver linie)</b>\';
        document.all.hojre.innerHTML = \'<textarea name=\"Svar\" wrap=\"VIRTUAL\" rows=\"4\">\'+ svarTemp +\'</textarea>\';
        document.all.andet.innerHTML = \'<input type=\"checkbox\" name=\"CheckAndet\" value=\"1\" \'+ andetCheckTemp +\'> Tilf&oslash;j &quot;Andet&quot; felt, st&oslash;rrelse <input type=\"text\" name=\"StrAndet\" size=\"3\" maxlength=\"3\" value=\"\'+ AndetStrTemp +\'\"> max 70\';
        document.all.kommentar.innerHTML = \'<input type=\"checkbox\" name=\"CheckKommentar\" value=\"1\" \'+ kommentarCheckTemp +\'> Tilf&oslash;j &quot;Kommentar&quot; felt, st&oslash;rrelse <input type=\"text\" name=\"StrKommentar\" size=\"3\" maxlength=\"3\" value=\"\'+ KommentarStrTemp +\'\"> max 70\';
    } else if (choice == \'2\') {
        document.all.venstre.innerHTML = \'<b>Svar p&aring; sp&oslash;rgsm&aring;l:<br>(Nyt svar p&aring; hver linie)</b>\';
        document.all.hojre.innerHTML = \'<textarea name=\"Svar\" wrap=\"VIRTUAL\" rows=\"4\">\'+ svarTemp +\'</textarea>\';
        document.all.andet.innerHTML = \'<input type=\"checkbox\" name=\"CheckAndet\" value=\"1\" \'+ andetCheckTemp +\'> Tilf&oslash;j &quot;Andet&quot; felt, st&oslash;rrelse <input type=\"text\" name=\"StrAndet\" size=\"3\" maxlength=\"3\" value=\"\'+ AndetStrTemp +\'\"> max 70\';
        document.all.kommentar.innerHTML = \'<input type=\"checkbox\" name=\"CheckKommentar\" value=\"1\" \'+ kommentarCheckTemp +\'> Tilf&oslash;j &quot;Kommentar&quot; felt, st&oslash;rrelse <input type=\"text\" name=\"StrKommentar\" size=\"3\" maxlength=\"3\" value=\"\'+ KommentarStrTemp +\'\"> max 70\';
    } else if (choice == \'3\') {
        document.all.venstre.innerHTML = \'<b>Svar p&aring; sp&oslash;rgsm&aring;l:<br>(Nyt svar p&aring; hver linie)</b>\';
        document.all.hojre.innerHTML = \'<textarea name=\"Svar\" wrap=\"VIRTUAL\" rows=\"4\">\'+ svarTemp +\'</textarea>\';
        document.all.andet.innerHTML = \'\';
        document.all.kommentar.innerHTML = \'\';
    } else if (choice == \'4\') {
        document.all.venstre.innerHTML = \'<b>Svar p&aring; sp&oslash;rgsm&aring;l:<br>(Nyt svar p&aring; hver linie)</b>\';
        document.all.hojre.innerHTML = \'<textarea name=\"Svar\" wrap=\"VIRTUAL\" rows=\"4\">\'+ svarTemp +\'</textarea>\';
        document.all.andet.innerHTML = \'<input type=\"checkbox\" name=\"CheckAndet\" value=\"1\" \'+ andetCheckTemp +\'> Tilf&oslash;j &quot;Andet&quot; felt, st&oslash;rrelse <input type=\"text\" name=\"StrAndet\" size=\"3\" maxlength=\"3\" value=\"\'+ AndetStrTemp +\'\"> max 70\';
        document.all.kommentar.innerHTML = \'<input type=\"checkbox\" name=\"CheckKommentar\" value=\"1\" \'+ kommentarCheckTemp +\'> Tilf&oslash;j &quot;Kommentar&quot; felt, st&oslash;rrelse <input type=\"text\" name=\"StrKommentar\" size=\"3\" maxlength=\"3\" value=\"\'+ KommentarStrTemp +\'\"> max 70\';
    } else if (choice == \'5\') {
        document.all.venstre.innerHTML = \'\';
        document.all.hojre.innerHTML = \'\';
        document.all.andet.innerHTML = \'\';
        document.all.kommentar.innerHTML = \'\';
    } else if (choice == \'6\') {
        document.all.venstre.innerHTML = \'\';
        document.all.hojre.innerHTML = \'\';
        document.all.andet.innerHTML = \'\';
        document.all.kommentar.innerHTML = \'\';
        }
}
</SCRIPT>

</body>
</html>

Jeg har nogle variabler:

svarTemp = document.form.Svar.value

andetCheckTemp = document.form.AndetCheck.value
kommentarCheckTemp = document.form.KommentarCheck.value
AndetStrTemp = document.form.AndetStr.value
KommentarStrTemp = document.form.KommentarStr.value

Men de fire sidste giver følgende fejlmeddelse:
document.form.AndetCheck.value er null eller ikke et objekt

Hvad er der galt???
Avatar billede nikolajdu Nybegynder
22. august 2001 - 13:13 #1
Du har skrevet name=\"CheckAndet\" og ikke name=\"AndetCheck\"
Avatar billede roenving Novice
22. august 2001 - 13:19 #2
Det nikolajdu har skrevet gælder også for dine andre felter.

Men du har jo ikke alle felter hele iden (de forsvinder jo fuldstændig, når du overskriver med innerHtml, så prøv:

andetCheckTemp = document.form.CheckAndet?document.form.CheckAndet.value:\"\";

... osv.

så får du checket om dine felter findes
Avatar billede jakoba Nybegynder
22. august 2001 - 13:29 #3
Pas også på med dine felttyper

<input type=\'text\' -felter har en streng-value i
      document.formnavn.feltnavn.value
som er det brugeren tastede ind.

<input type=\'checkbox\" -felter har en boolean-value i
      document.formnavn.feltnavn.checked
der fortæller om checkboksen er markeret eller ikke.

Felttyperne \'radio\' og \'select\' har også et par forskelligheder.

Du bør tage hensyn til felttypen når du tester.

mvh JakobA
Avatar billede jems Nybegynder
22. august 2001 - 13:51 #4
Hvordan fixer jeg det med checkboxen?
Det er nemlig det eneste der ikke virker nu.
Avatar billede nikolajdu Nybegynder
22. august 2001 - 13:55 #5
Igen har du

KommentarCheck.value og forkert navn name=\"CheckKommentar\"
Avatar billede jems Nybegynder
22. august 2001 - 13:57 #6
ok, jeg glemte at sige jag havde rettet det...
Avatar billede jakoba Nybegynder
22. august 2001 - 14:15 #7
  andetCheckTemp = document.form.AndetCheck.checked
men der er ikke rigtig nogen grund til at teste på den da både  true  og  false  formodentlig er tilladte værdier.
Avatar billede jems Nybegynder
22. august 2001 - 14:24 #8
Det er måske et lidt dumt spørgsmål, men hvordan får jeg så checkboxen til at være checked hvis document.form.AndetCheck.checked er true?
Avatar billede jakoba Nybegynder
22. august 2001 - 14:28 #9
hvis  \"document.form.AndetCheck.checked er true\"  er checkboksen allerede checked.

du kan checke eller afstille checkboksen med
      document.form.AndetCheck.checked = true;    // sætter checkmærke
og    document.form.AndetCheck.checked = false;  // fjerner checkmærke
Avatar billede jems Nybegynder
22. august 2001 - 14:51 #10
Hvordan får jeg sat kommentarCheckTemp til at indeholde string \"checked\" hvis document.form.AndetCheck.checked er true?
Jeg har prøvet med en if sætning, men jeg får en fejlmeddelse.
Avatar billede jakoba Nybegynder
22. august 2001 - 15:55 #11
if ( document.form.AndetCheck.checked )
  kommentarCheckTemp = \'checked\';
Avatar billede jems Nybegynder
22. august 2001 - 15:56 #12
Tak for hjælpen, det hele virker nu :o)
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