Avatar billede stkol Nybegynder
17. maj 2003 - 16:32 Der er 3 kommentarer og
1 løsning

"Subcategory undefined" i javascript, hvad kan fejlen være?

Hej

Jeg har et problem med et javascript som kører på en ASP side! Jeg får fejlen "Subcategory is undefined" men hvis jeg tager en view source af det kørende ASP side og gemme denne source som et statisk HTML dokument kører den fint.

Her er det kode som fejlen omhandler:

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
catnumber = 3
offset = 150
performOnchange = false
if (document.all) {
  docObj = "document.all."
  styleObj = ".style"
  } else {
  docObj = "document."
  styleObj = ""
}
function openselect(subcat) {
  popupselect = eval(docObj + subcat + styleObj)
  popupselect.visibility = "visible"
}
function closeselect(submenu,subcat){
  popupselect = eval(docObj + subcat + styleObj)
  if (submenu.selectedIndex != 0) {
    popupselect.visibility = "hidden"
    numchoice = submenu.selectedIndex
    choice = submenu[numchoice].value
    subcategory.value = choice
    submenu.selectedIndex = 0
  }
}
function lock() {
  performOnchange = false
}
function unlock() {
  performOnchange = true
}
function selectSub(cat) {
  for (i=1; i <= catnumber; i++) {
    subcat = "sub" + i
    popupselect = eval(docObj + subcat + styleObj)
    popupselect.visibility = "hidden"
  }
  if (performOnchange == true) {
    letsopen = "sub" + cat.selectedIndex
    if (letsopen == "sub0") {
      alert("No category selected")
      choice = "- subcategory -"
      subcategory.value = choice
      cat.focus()
      } else {
      openselect(letsopen)
      lock()
    }
  }
}
//  End -->
</script>

####  ASP koden ####

        <tr>
            <td width="100"><font size="1"><b>Kategori</b></font></td>
            <td width="200"><div><select name="categoria" onmouseover="unlock()" style="width: 95%" onchange="selectSub(this)" <%
                                                                                                    if Session("headerinfo")="edit" then
                                                                                                        response.write("")
                                                                                                    else
                                                                                                        response.write("DISABLED")
                                                                                                    end if                                       
                                                                                                %>>
                    <option <%
                                  if trim(rs("kategori"))="" then
                                response.write("SELECTED")
                                  else
                                response.write("")
                                  end if                                       
                          %> value="">-- choose category --</option>                                                                           
                    <%
                        While (not rsmainmenu.EOF)
                    %>
                    <option value="<%=trim(rsmainmenu("mainmenu"))%>" <%
                                                                          if trim(rs("kategori"))=trim(rsmainmenu("recordid")) then
                                                                        response.write("SELECTED")
                                                                          else
                                                                        response.write("")
                                                                          end if                                       
                                                                  %>><%=trim(rsmainmenu("mainmenu"))%></option>
                    <%
                        rsmainmenu.movenext
                        wend
                    %>
                </select></td>
        </tr>
        <tr>
            <td width="100"><font size="1"><b>&nbsp;</b></font></td>
            <td width="200"><%
                                While (not rsmenu.EOF)
                            %>
                            <span id="sub<%=trim(rsmenu("recordid"))%>">
                              <select name="sub<%=trim(rsmenu("mainmenu"))%>" style="width: 95%" onchange="closeselect(this,'sub<%=trim(rsmenu("recordid"))%>')">
                                <option selected value="">- subcategory -</option>
                                <option value="<%=rsmenu("link")%>"><%=rsmenu("link")%></option>
                              </select>
                            </span>
                            <%
                                rsmenu.movenext
                                wend
                            %>
                </td>
        </tr>
        <tr>
            <td width="100"><font size="1"><b>Link</b></font></td>
            <td width="200"><input type="text" name="subcategory" readonly="readonly" value="- subcategory -"></div></td>
        </tr>

Kan nogen fortælle mig hvad problemet er????

På forhånd mange tak

/Stig :-)
Avatar billede roenving Novice
17. maj 2003 - 16:42 #1
Det fremgår ikke af det som du har lagt, hvad:

subcategory.value = choice

Hvor får subcategory sin instans fra?-)
Avatar billede mortrr Praktikant
17. maj 2003 - 16:56 #2
Det er ikke nok bare at kalde subcategory. Bare fordi den har et name, er det ikke nok til at identificere den.
Du kan bruge fx:
document.formularnavn.subcategory.value
eller
document.forms[0].subcategory.value
Avatar billede stkol Nybegynder
17. maj 2003 - 19:55 #3
Hej mortrr

Tusind tak for dit svar, det var lige det hint jeg manglede *SS Nu kører det ;-)

Vil du lige smide mig et svar så du kan få dine point ??

/Stig :-)
Avatar billede mortrr Praktikant
17. maj 2003 - 23:55 #4
Selv 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