Avatar billede lightbrain Nybegynder
02. juni 2002 - 21:21 Der er 4 kommentarer og
1 løsning

Fejl når man "klikker ved siden af"

Hej, jeg har en funktion, som kommer med en fejlmeddelelse, som jeg ikke kan undgå/håndtere.

Den siger følgende, når jeg klikker "ved siden af" elementerne i en dropdown-menu.

"Object doesn't support this property of methode"

Dog, hvis jeg dog rammer et punkt i menuen, kommer fejlen ikke.

Jeg tror selv, at det er fordi...

if ( document.forms[form].elements[detteElement].options[document.forms[form].elements[detteElement].selectedIndex].value > "1") {

... ikke kan håndtere, hvis man klikker "forkert".

Hvordan kan den udbygges?

________________________________________________________

function IndlaesMenuer( form, detteElement, naesteElement, arrayNr, objektPrimaerNoegle, ElementTekst, ElementVaerdi) {
   
 
if ( document.forms[form].elements[detteElement].options[document.forms[form].elements[detteElement].selectedIndex].value > "1") {
 
  alert (document.forms[form].elements[detteElement].options[document.forms[form].elements[detteElement].selectedIndex].value);
 
    if (detteElement == "sektion") {
          document.forms[form].emne.length = 0;
          document.forms[form].artikel.length = 0;
          document.getElementById("visEmne").style.display = 'block';
      }
 
      if (detteElement == "emne") {
        document.forms[form].artikel.length = 0;
        if (document.AdministrerArtikler.artikelValg != "IndsaetArtikel") {
           
            document.getElementById("visArtikel").style.display = 'block';
        }
      }
     
      if (detteElement == "artikel") {
        document.getElementById("visTekstbokse").style.display = 'block';
        //document.forms[form].artikel.length = 0;
      }
     
    y = 0;
      for (var i = 1;i < gruppe[arrayNr].length; i++)  {         
          if ( document.forms[form].elements[detteElement].options[document.forms[form].elements[detteElement].selectedIndex].value == gruppe[arrayNr][i][objektPrimaerNoegle]) {
              document.forms[form].elements[naesteElement].options[y] = new Option( gruppe[arrayNr][i][ElementTekst], gruppe[arrayNr][i][ElementVaerdi]);
              y++;
          }
        }
  }
}
Avatar billede erikjacobsen Ekspert
02. juni 2002 - 21:25 #1
Du bruger bare en if-sætning, hvor du tester om dit selectedIndex
er større end eller lig med 0. Rammer du ved siden af, det nemlig minus 1.
Avatar billede lightbrain Nybegynder
02. juni 2002 - 21:36 #2
Men selvom jeg har skrevet ...[detteElement].selectedIndex].value > -1) kommer fejlen stadig, altså hvis ikke man rammer et element, når man klikker i dropdown-menuen.
Avatar billede atn Nybegynder
04. juni 2002 - 01:14 #3
Heysa !

Du får denne fejl når du referer til et object på din side som ikke understøtter det du prøver på at til....

Har du et link hvor vi kan se fejlen...linie o.s.v....

venligst

<ATN/>
Avatar billede lightbrain Nybegynder
04. juni 2002 - 19:53 #4
Hvordan udbygges funktionen, således at den kan håndtere, at man SOM DET FØRSTE MAN GØR (vigtigt at bemærke) klikker nedenunder det eneste punkt, som findes i koden? (Hvis du kommer til at klikke på menupunktet - og ikke nedenunder det - skal man genindlæse siden, ellers kommer fejlen ikke).

Her er den forenklede kode:

<html>

<head>

<script>

function IndlaesMenuer( form, detteElement, naesteElement, arrayNr, objektPrimaerNoegle, ElementTekst, ElementVaerdi) {
   
  if ( document.forms[form].elements[detteElement].options[document.forms[form].elements[detteElement].selectedIndex].value > -1)
   
}


</script>
<body>
    <fieldset style="padding: 2">
  <legend align="center"><font face="Trebuchet MS">Administrér</font></legend>
&nbsp;<blockquote>

<form method="POST" name="AdministrerArtikler" action="!index.asp">

  <p><font face="Trebuchet MS"><font size="2">Sektion<br>
  </font>
  <select size="5" name="sektion" onclick="self.IndlaesMenuer('AdministrerArtikler', 'sektion', 'emne', '3', 'sektionnr', 'titel', 'emnenr');"> 
  <option value="1">Klik nedenfor</option>
  </select></font><font size="2" face="Trebuchet MS">
  </font>
  </p>
</form>
  </blockquote>
  </fieldset>
<head>
</body>

</html>
Avatar billede lightbrain Nybegynder
09. juni 2002 - 11:10 #5
Jeg lukker dette spg., da det ikke kommer tættere på en løsning. Jeg er i mellem tiden også blevet lidt klogere. Tak for hjælpen :-)
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