Avatar billede lightbrain Nybegynder
19. juli 2002 - 17:17 Der er 7 kommentarer og
1 løsning

Kan ikke tælle

Hej

Jeg har en submit-side, hvor en bruger kan oprette en sektion, (som er arrangeret efter en niveau-tæller - 1,2,3 osv.)

Men mit script springer over tallet 2 - den tæller 1,3,4,5,6,7,8 osv. og jeg fatter ikke hvorfor.

Her kommer hele min HTML-kode, selvom det kun er funktionen "hovedFunktionAdminS()" (bemærk S'et), som er relevant.

Det er i følgende linie at det går galt, tror jeg:

document.AdminS.niveau.value = gruppe[2].length + 1;


____________HELE HTML-KODEN_________________


<html>

<head>
<META NAME="Generator" CONTENT="Microsoft FrontPage 5.0">
<meta http-equiv="Content-Language" content="da">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title></title>

<script>

//************************************************************************
//                                 FÆLLES
//************************************************************************ 

screenTaellerAdminA = 1;
screenTaellerArranger = 1;
screenTaellerAdminS = 1;

var gruppe = new Array();
gruppe[1] = new Array();
gruppe[2] = new Array();
gruppe[3] = new Array();

function artikel(artikelnr, titel, forfatter, beskrivelse, filnavn, emnenr, niveau, aendret) {
    this.artikelnr= artikelnr;
      this.titel= titel;
      this.forfatter= forfatter;
      this.beskrivelse= beskrivelse;
      this.filnavn= filnavn;
      this.emnenr= emnenr;
      this.niveau= niveau;
      this.aendret= aendret;
}

function sektion(sektionnr, titel, niveau, aendret) {

      this.sektionnr= sektionnr;
      this.titel= titel;
      this.niveau= niveau;
      this.aendret= aendret;
}

function emne(emnenr, titel, sektionnr, farve, placering, niveau, aendret) {
      this.emnenr= emnenr;
      this.titel= titel;
      this.sektionnr= sektionnr;
      this.farve= farve;
      this.placering= placering;
      this.niveau= niveau;
      this.aendret= aendret;
}

function erstat(streng) {
   
    streng = streng.replace(/´/gi,"\'");
    streng = streng.replace(/&quot;/gi,"\"");
    streng = streng.replace(/<br>/gi, "\n");

return streng;
}

function indlaesInfo (form, i) {

    form.artikelnr.value = gruppe[1][i].artikelnr;
    form.titel.value = erstat(gruppe[1][i].titel);
    form.forfatter.value = erstat(gruppe[1][i].forfatter);
    form.beskrivelse.value = erstat(gruppe[1][i].beskrivelse);
    form.filnavn.value = gruppe[1][i].filnavn;
}

// ****************************************************************************
//                                  Fælles - Menuer
// ****************************************************************************

function IndlaesFoersteMenu( form ) {

    y = 1;
    for (var i = 1; i < gruppe[2].length; i++)  {
        form.sektion.options[gruppe[2][i].niveau - 1] = new Option( erstat(gruppe[2][i].titel), gruppe[2][i].sektionnr );
        y++;
    }
   
    if (y > 1) {
        document.getElementById("vis" + form.name + "sektion").style.display = 'block';
        return true;
    }
    else
        return false;
}

function IndlaesIkkePlaceret( element ) {

      y = 0;
      for (var i = 1;i < gruppe[1].length; i++)  {
        if ( gruppe[1][i].emnenr == 0) {
              element.options[y] = new Option( erstat(gruppe[1][i].titel), gruppe[1][i].artikelnr);
              y++;
        }
      }
}
               
function IndlaesMenuer( form, detteElement, naesteElement) {
             
    if (MenuNotEmpty(detteElement))  {
   
        y = 1;

          if (detteElement.name == "sektion") {
              arrayNr = 3;
             
              if (almindeligVisning(form, detteElement)) {
                  form.emne.length = 0;
                  form.artikel.length = 0;
                  document.getElementById("vis" + form.name + "artikel").style.display = 'none';
              }
          }
         
          else if (detteElement.name == "emne") {
              arrayNr = 1;
              if (almindeligVisning(form, detteElement)) {
                  form.artikel.length = 0;
              }
        }                       
         
        for (var i = 1;i < gruppe[arrayNr].length; i++)  {
            if ( detteElement.value == gruppe[arrayNr][i][detteElement.name + "nr"]) {
                naesteElement.options[gruppe[arrayNr][i].niveau - 1] = new Option( erstat(gruppe[arrayNr][i].titel), gruppe[arrayNr][i][naesteElement.name + "nr"]);
                  y++;
              }
          }
         
        if (almindeligVisning(form, detteElement)) {
           
            if (y > 1) {
                document.getElementById("vis" + form.name + naesteElement.name).style.display = 'block';
            }
           
            else {
                document.getElementById("vis" + form.name + naesteElement.name).style.display = 'none';
                  alert("Det valgte punkt er tomt - prøv med et andet.");
              }
          }                     
      }
}

function MenuNotEmpty ( element ) {
   
    if (element.selectedIndex > -1 && element.selectedIndex < element.options.length)
        return true;
}

// ****************************************************************************
//                              Fælles - Sortering
// ****************************************************************************

function ArrangerResten (element) {

    //Resten skal have nye værdier, da en artikel er blevet taget ud
    if (element.name == "artikel" || element.name == "ikkePlaceret") {
        arrayNr = 1;
        noegle = "artikelnr";
    }
    else
        if (element.name == "emne") {
            arrayNr = 3;
            noegle = "emnenr";
        }
       
    for (var y = 0; y < element.length; y++)  {
        for (var i = 1;i < gruppe[arrayNr].length; i++)  {
            if (gruppe[1][i][noegle] == element.options[y].value) {
                gruppe[1][i].niveau = y + 1;
                gruppe[1][i].aendret = "ja";
            }
        }
    }
}

function FindAendrede (form) {
   
    aendret = "";
           
    for (var i = 1;i < gruppe[1].length; i++)  {
        if (gruppe[1][i].aendret == "ja") {           
            common = gruppe[1][i].artikelnr + "-" + gruppe[1][i].emnenr + "-" + gruppe[1][i].niveau;;
   
            if (aendret == "") aendret = common;
                else aendret = aendret +","+ common;               
        }
    }
    if (aendret != "") form.aendret.value = aendret;
}

// ****************************************************************************
//                              Fælles - Diverse
// ****************************************************************************


function checkAabneOpgaver (form) {
   
    if ("screenTaeller" + form.name > 1) {
        alert("Du kan ikke starte på nye opgaver, mens du stadig arbejder på en. Tryk evt. 'Annuller'.");
        return false;
    }
    else return true;
}

function skriv(placering, tekst) {
    if (document.getElementById) document.getElementById(placering).innerHTML = tekst;
        else if (document.all) document.all.placering.innerHTML = tekst;
            else if (document.layers) document.lag1.document.write(txt);
}

function getHandling(form) {

    if (form.valg[0].checked) var handling = "Opret";
    if (form.valg[1].checked) var handling = "Opdater";
    if (form.valg[2].checked) var handling = "Slet";
    return handling;
}

function almindeligVisning (form, element) {

    // Sektion - > emne osv - det kan jo være at naesteElement ikke eksisterer
    if (form.name == "AdminA" && getHandling(form) == "Opret" && element.name == "emne") {
        return false;
        alert("!!!");
       
    }

    if (form.name == "AdminS" && getHandling(form) == "Opdater" && element.name == "sektion") {
        return false;
        alert("???");
    }
   
    return true;
}
</script><script>

// ****************************************************************************
//                                    ADMINS
// ****************************************************************************

function hovedFunktionAdminS() {

    if (checkAabneOpgaver(document.AdminS)) {
   
        if (getHandling(document.AdminS) == "Opret") {
            if (screenTaellerAdminS == "1") {
                document.getElementById("visAdminSValg").style.display = 'none';
                document.getElementById("visAdminStitel").style.display = 'block';
       
                skriv("tekst1AdminS", "Du har valgt at oprette en sektion. Hvad skal sektionen hedde?");
               
                screenTaellerAdminS++;       
                return false;
            }
           
            else if (screenTaellerAdminS == "2") {
                           
                if (document.AdminS.titel.value == "" ) {
                    alert("Du mangler at angive en titel.");
                    return false;
                }
                else {
                    for (var i = 0; i <= gruppe[2].length; i++)  {
                        alert("længde: " + gruppe[2].length);
                        alert("tæller: " + i);
                    }
                   
                    document.AdminS.niveau.value = gruppe[2].length + 1;
                }
            }
        }
       
        if (getHandling(document.AdminS) == "Opdater") {
       
            if (screenTaellerAdminA == "1") {
           
                if (IndlaesFoersteMenu(document.AdminS)) {
                           
                    skriv("tekst1AdminS", "Du har valgt at opdatere en eksisterende sektion. Hvilken er der tale om?");
                    document.getElementById("visAdminSValg").style.display = 'none';
                    //document.getElementById("visAdminAPlaceresSenere").style.display = 'block';               
                    //IndlaesIkkePlaceret(document.AdminA.ikkePlaceret);
                    screenTaellerAdminA++;           
                }
                else
                    alert("Der findes ingen sektioner, opret dem først.");
                   
                document.AdminS.Ok.disabled = true;
                return false;
            }
        }
       
        if (getHandling(document.AdminS) == "Slet") {
       
            if (screenTaellerAdminA == "1") {
           
                if (IndlaesFoersteMenu(document.AdminS)) {
                }   
            }
        }
    }
}

</script><script>
// ****************************************************************************
//                                    ADMINA
// ****************************************************************************

function hovedFunktionAdminA () {

    if (checkAabneOpgaver(document.AdminA)) {
   
        if (getHandling(document.AdminA) == "Opret") {
       
            if (screenTaellerAdminA == "1") {
               
                if (IndlaesFoersteMenu(document.AdminA)) {
                   
                    skriv("tekst1AdminA", "Du har valgt at indsætte en ny artikel. Hvor skal den kommende artikel placeres?");
                    document.getElementById("visAdminAValg").style.display = 'none';
                    document.getElementById("visAdminAPlaceresSenere").style.display = 'block';               
                    IndlaesIkkePlaceret(document.AdminA.ikkePlaceret);
                    screenTaellerAdminA++;           
                }
                else
                    alert("Der findes ingen sektioner, opret dem først.");
                   
                document.AdminA.Ok.disabled = true;
                return false;
            }
       
            else if (screenTaellerAdminA == "2") {
                if (document.AdminA.PlaceresSenere[0].checked && document.AdminA.emne.selectedIndex != -1 || document.AdminA.PlaceresSenere[1].checked) {
                               
                    document.getElementById("tekst1AdminA").style.display = 'none';
                    document.getElementById("visAdminAsektion").style.display = 'none';
                    document.getElementById("visAdminAemne").style.display = 'none';
                    document.getElementById("visAdminAPlaceresSenere").style.display = 'none';
                    document.getElementById("visAdminATekstbokse").style.display = 'block';
                    skriv("tekst2AdminA", "Hvad skal artiklens oplysinger være?");
               
                    if (document.AdminA.PlaceresSenere[1].checked) {
                        document.AdminA.sektion.length = 0;
                        document.AdminA.emne.length = 0;
                        document.AdminA.emne.options[0] = new Option( " ", "0");
                        document.AdminA.emne.selectedIndex = 0;                   
                    }
                    else {
                        y = 1;
                        for (var i = 1;i < gruppe[1].length; i++)  {         
                            if ( document.AdminA.emne.options.value == gruppe[1][i].emnenr )
                                y++;
                        }
                    document.AdminA.niveau.value = y;
                    }       
                   
                    document.AdminA.Ok.disabled = false;
                    screenTaellerAdminA++;
                    return false;
                }
                else {
                    alert("Du mangler at placere den kommende artikel i en sektion samt under et emne.");
                    return false;
                }
            }
           
            else if (screenTaellerAdminA == "3") {
                if (document.AdminA.titel.value == "" ) {
                    alert("Du mangler at angive en titel.");
                    return false;
                }   
            }
        }
   
        else if (getHandling(document.AdminA) == "Opdater") {       

                  if (screenTaellerAdminA == "1") {
                 
                    if (IndlaesFoersteMenu(document.AdminA)) {                   
                   
                        skriv("tekst1AdminA", "Du har valgt at opdatere en eksisterende artikel. Hvor er artiklen placeret?");
                        document.getElementById("visAdminAValg").style.display = 'none';
                        document.getElementById("visAdminAaabneIkkePlaceret").style.display = 'block';
                        IndlaesIkkePlaceret(document.AdminA.ikkePlaceret);
                        screenTaellerAdminA++;
                    }

                    else
                        alert("Der findes ingen sektioner, opret dem først.");

                    document.AdminA.Ok.disabled = false;
                    return false;
                }
   
                else if (screenTaellerAdminA == "2") {
               
                    if (document.AdminA.artikel.selectedIndex > -1 || document.AdminA.ikkePlaceret.selectedIndex > -1) {
                          document.getElementById("tekst1AdminA").style.display = 'none';
                        document.getElementById("visAdminAsektion").style.display = 'none';
                        document.getElementById("visAdminAemne").style.display = 'none';
                        document.getElementById("visAdminAartikel").style.display = 'none';
                        document.getElementById("visAdminAikkePlaceret").style.display = 'none';
                        //document.getElementById("visAdminAPlaceresSenere").style.display = 'none';
                        document.getElementById("visAdminAaabneIkkePlaceret").style.display = 'none';
                        document.getElementById("visAdminATekstbokse").style.display = 'block';
                        skriv("tekst2AdminA", "Hvad skal opdateres i artiklen?");
                   
                        document.AdminA.Ok.disabled = false;
                   
                        if (document.AdminA.ikkePlaceret.options.selectedIndex > -1)
                            var gNum = document.AdminA.ikkePlaceret.value;
                       
                        else
                            var gNum = document.AdminA.artikel.options.value;
                                                           
                        for (var i = 1;i < gruppe[1].length; i++)  {
                            if ( gNum == gruppe[1][i].artikelnr ) {
                                indlaesInfo(document.AdminA, i);
                                break;
                            }
                        }

                        if (document.AdminA.artikel.options.selectedIndex > -1) {
                            ArrangerResten (document.AdminA.artikel);
                            FindAendrede(document.AdminA);
                        }
                       
                        screenTaellerAdminA++;
                    }
                    else {
                        alert("Du mangler at markere den artikel, som du ønsker opdateret.");
                    }
           
                return false;
                }       
            }
           
        if (getHandling(document.AdminA) == "Slet") {
       
            if (screenTaellerAdminA == "1") {
           
                if (IndlaesFoersteMenu(document.AdminA)) {                   
                   
                        skriv("tekst1AdminA", "Du har valgt at slette en eksisterende artikel. Hvor er artiklen placeret?");
                        document.getElementById("visAdminAValg").style.display = 'none';
                        document.getElementById("visAdminAaabneIkkePlaceret").style.display = 'block';
                        IndlaesIkkePlaceret(document.AdminA.ikkePlaceret);
                        screenTaellerAdminA++;
                }

                else
                    alert("Der findes ingen sektioner, opret dem først.");

                document.AdminA.Ok.disabled = false;
                return false;
            }
       
            else if (screenTaellerAdminA == "2") {
                       
                if (document.AdminA.artikel.selectedIndex > -1 || document.AdminA.ikkePlaceret.selectedIndex > -1) {
                      document.getElementById("tekst1AdminA").style.display = 'none';
                    document.getElementById("visAdminAsektion").style.display = 'none';
                    document.getElementById("visAdminAemne").style.display = 'none';
                    document.getElementById("visAdminAartikel").style.display = 'none';
                    document.getElementById("visAdminAPlaceresSenere").style.display = 'none';
                    document.getElementById("visAdminAaabneIkkePlaceret").style.display = 'none';
                    document.getElementById("visAdminAikkePlaceret").style.display = 'none';
                    document.getElementById("visAdminATekstbokse").style.display = 'block';
                    skriv("tekst2AdminA", "Er det denne artikel, som skal slettes?");
                   
                    document.AdminA.Ok.disabled = false;
               
                    if (document.AdminA.ikkePlaceret.options.selectedIndex > -1)
                        var gNum = document.AdminA.ikkePlaceret.options.value;
                    else
                        var gNum = document.AdminA.artikel.options.value;
                       
                    for (var i = 1;i < gruppe[1].length; i++)  {
                        if ( gNum == gruppe[1][i].artikelnr ) {
                              indlaesInfo(document.AdminA, i);
                            break;
                        }
                    }
                                       
                    //Hvis sidste element slettes, er arrangering irrelevant, derfor følgende check.
                    if (document.AdminA.artikel.options.selectedIndex > -1 && document.AdminA.artikel.length > 1) {
                        document.AdminA.artikel.options[document.AdminA.artikel.selectedIndex] = null;
                        ArrangerResten (document.AdminA.artikel);
                        FindAendrede(document.AdminA);
                    }
                   
                    document.AdminA.titel.disabled = true;
                    document.AdminA.forfatter.disabled = true;
                    document.AdminA.beskrivelse.disabled = true;
                    document.AdminA.filnavn.disabled = true;
                   
                    screenTaellerAdminA++;
                }
                else {
                    alert("Du mangler at markere den artikel, som du ønsker slettet.");
                    }
            return false;
            }
        }
    }
    else return false;
}

function FokusIkkePlaceret (form, element) {

    if (MenuNotEmpty(element)) {
        form.sektion.selectedIndex = -1;
        form.emne.length = 0;
          form.artikel.length = 0;
      }
}

function aabenIkkePlaceret (form) {
   
    document.getElementById("visAdminAsektion").style.display = 'none';
    document.getElementById("visAdminAemne").style.display = 'none';
    document.getElementById("visAdminAartikel").style.display = 'none';
    document.getElementById('visAdminAikkePlaceret').style.display = 'block';
    document.getElementById('visAdminAaabneIkkePlaceret').style.display = 'none';

}
</script><script>
// ****************************************************************************
//                              ARRANGERARTILKER
// ****************************************************************************

function hovedFunktionArranger() {

    document.Arranger.Ok.disabled = true;

    if (checkAabneOpgaver(document.Arranger)) {
   
        if (document.Arranger.valg.checked) {
            if (screenTaellerArranger == "1") {
                document.getElementById("visArrangerValg").style.display = 'none';
                document.getElementById("visArrangersektion").style.display = 'block';
                document.getElementById("visArrangerArtikelPile").style.display = 'block';
           
                skriv("tekst1Arranger", "Du har valgt at arrangere en artikel. Hvor er artiklen placeret?");
   
                IndlaesFoersteMenu(document.Arranger);           
                IndlaesIkkePlaceret(document.Arranger.ikkePlaceret);
               
                //Er den nu også relevant?
                LaasAlle(document.Arranger);
                screenTaellerArranger++;
           
                return false;
            }
            else if (screenTaellerArranger == "2") {
       
                FindAendrede(document.Arranger);
            }
        }
       
        if (document.Arranger.valg[1].checked) {       
            if (screenTaellerArranger == "1") {       
                document.getElementById("visArrangerValg").style.display = 'none';
                document.getElementById("visArrangersektion").style.display = 'block';
                document.getElementById("visArrangerEmnePile").style.display = 'block';
           
                skriv("tekst1Arranger", "Du har valgt at arrangere et emne. Hvor er emnet placeret?");
   
                IndlaesFoersteMenu(document.Arranger);               
                IndlaesIkkePlaceret(document.Arranger.ikkePlaceret);
               
                //Er den nu også relevant?
                LaasAlle(document.Arranger);
                screenTaellerArranger++;
           
                return false;
            }
        }
    }
    else return false;
}

function LaasAlle( form ) {
   
    form.OpEmne.disabled = true;
    form.NedEmne.disabled = true;
    form.Op.disabled = true;
    form.Ned.disabled = true;
}

function checkPile (form, element) {

    if ( MenuNotEmpty(element)) {
       
        if (element.name == "emne") {
            //form.artikel.selectedIndex = -1;
            form.ikkePlaceret.selectedIndex = -1;

            if (element.selectedIndex == 0 )
                form.OpEmne.disabled = true;
            else
                form.OpEmne.disabled = false;
   
            if (element.selectedIndex == element.options.length - 1 )
                form.NedEmne.disabled = true;
            else
                form.NedEmne.disabled = false;
        }

        if (element.name == "artikel") {
            form.ikkePlaceret.selectedIndex = -1;

            if (element.selectedIndex == 0 )
                form.Op.disabled = true;
            else
                form.Op.disabled = false;
       
            if (element.selectedIndex == element.options.length - 1 )
                form.Ned.disabled = true;
            else
                form.Ned.disabled = false;
        }
   
        if (element.name == "ikkePlaceret") {
            form.Op.disabled = true;
            form.Ned.disabled = true;
            form.artikel.selectedIndex = -1;
        }
    }
}

function ombyt (element, fra, til ) {
  var tmpTxt      = element[fra].text;
  element[fra].text  = element[til].text;
  element[til].text  = tmpTxt;
  var tmpVal      = element[fra].value;
  element[fra].value = element[til].value;
  element[til].value = tmpVal;
 
  document.Arranger.Ok.disabled = false;
};

function flytOp ( form, element ){
    ombyt(form, element.selectedIndex, element.selectedIndex-1);
    element.selectedIndex = element.selectedIndex -1;
    ArrangerResten (element);
    checkPile (form, element);     
};

function flytNed( form, element ) {
    ombyt(form, element.selectedIndex, element.selectedIndex+1);
    element.selectedIndex = element.selectedIndex+1;
    ArrangerResten (element);
    checkPile (form, element);     
}

function flyt(form, element) {

    if ( MenuNotEmpty (element)) {

        for (var i = 1;i < gruppe[1].length; i++)  {         
            if (gruppe[1][i].artikelnr == element.value) {
                if (element.name == "ikkePlaceret") {
                    gruppe[1][i].emnenr = document.Arranger.emne.value;               
                    gruppe[1][i].niveau = element.length + 1;
               
                } else {
                    gruppe[1][i].emnenr = 0;
                    gruppe[1][i].niveau = 0;
                }
                gruppe[1][i].aendret = "ja";
            }
        }
           
        sel1 = (element.name == "artikel") ? form.artikel : form.ikkePlaceret;
        sel2 = (element.name == "artikel") ? form.ikkePlaceret : form.artikel;
        ind = sel1.selectedIndex;
        sel2.options.length += 1;
        sel2.options[sel2.options.length - 1].text = sel1.options[ind].text;
        sel2.options[sel2.options.length - 1].value = sel1.options[ind].value;
        sel1.options[ind] = null;
       
        document.Arranger.Ok.disabled = false;

        ArrangerResten (element);
        LaasAlle(document.Arranger);
    }
}
</script>

</head>

<body>

<table border="0" cellpadding="10" cellspacing="10" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="100%">
  <tr>
    <td width="100%" valign="top" colspan="3" height="100%">
    <blockquote>
      <fieldset style="padding: 2">
        <legend align="center">
        <p align="left"><font face="Trebuchet MS">Status</font></p>
        </legend>
        <blockquote>
        <p align="left">
        <font face="Trebuchet MS" size="2">Sidste handling:  Sektionen er nu blevet oprettet!
        </font>
        </p>
        <form method="POST" name="Status">
          <font face="Trebuchet MS">
          <input type="checkbox" name="showHelp" value="ON"><font size="2">Show
          helping messages (popups)</font></font></form>
        </blockquote>
</fieldset></font></blockquote>
</td>
    </tr>
  <tr>
    <td width="30%" valign="top" height="100%">
   
    <form method="POST" name="AdminS" action="index.asp" onSubmit="return hovedFunktionAdminS();">
<fieldset style="padding: 2">
  <legend align="center"><font face="Trebuchet MS">Sektioner </font></legend>
  <blockquote>
   
    <div id="visAdminSValg" style="display:block; position:relative;">
    <p><font face="Trebuchet MS" size="2"><br>
    Jeg kan ikke tælle!!!</font></p>
    <p><font face="Trebuchet MS" size="2">
    <input type="radio" value="OpretSektion" name="valg" onClick="document.AdminS.Ok.disabled = false;">Opret
    sektion</font></p>
    <p><font face="Trebuchet MS" size="2">
    <input type="radio" value="OpdaterSektion" name="valg" onClick="document.AdminS.Ok.disabled = false;">Opdatér
    sektion</font></p>
    <p><font face="Trebuchet MS" size="2">
    <input type="radio" value="SletSektion" name="valg" onClick="document.AdminS.Ok.disabled = false;">Slet
    sektion</font></p>
  </div>
      </p>
     
      <font face="Trebuchet MS"><font size="2"><div id="tekst1AdminS" style="display:block; position:relative;"><layer id="lag1"></layer></div></font>

    <div id="visAdminSsektion" style="display:None; position:relative;">   
    <p><font size="2" face="Trebuchet MS">Sektion<br>
  </font>
  <select size="5" style="width: 120px" name="sektion" onclick="self.IndlaesMenuer(this.form, this, this.form.emne);"> 
  </select></p>
  </div>
 
  <div id="visAdminStitel" style="display:None; position:relative;">   
    <p><font face="Trebuchet MS" size="2">Titel</font><font size="2"><br>
    </font>
  <input type="text" name="titel" size="22"></p>
  <p align="left">
  </div>
 
  <input type="submit" value="    Ok    " name="Ok" disabled="true"><font size="2">&nbsp;
  </font>
  <input type="button" value="Annullér" name="Annuller" onClick="location.href='index.asp?status=Handlingen blev annulleret!'";></blockquote>
  </font>
  </fieldset><font size="2" face="Trebuchet MS"> </font> </blockquote>
    </font>
    <input type="hidden" name="niveau" value=" ">
    </form>

 
    </blockquote>
</td>
</td>
    <td width="30%" valign="top" height="100%">
   
 
<form method="POST" action="index.asp" name="IndsaetEmne">
  <fieldset style="padding: 2">
  <legend align="center"><font face="Trebuchet MS">Emner</font></legend>
&nbsp;<blockquote>
    <p><font size="2" face="Trebuchet MS">Titel<br>
    </font>
    <font face="Trebuchet MS">
  <input type="text" name="titel" size="22"></font></p>
    <p><font face="Trebuchet MS"><font size="2">Sektion<br>
    </font>
  <select size="1" name="sektion">
  </select></font></p>
    <p><font face="Trebuchet MS"><font size="2">Farve<br>
    </font>
  <select size="1" name="farve">
  </select></font></p>
    <p><font face="Trebuchet MS"><font size="2">Placering<br>
    </font>
  <select size="1" name="placering">
  <option>Højre</option>
  <option>Venstre</option>
  </select></font></p>
     
      <font face="Trebuchet MS">
    <p>
 
  <input type="submit" value="    Ok    " name="Ok" disabled="true"><font size="2">&nbsp;
  </font>
  <input type="button" value="Annullér" name="Annuller" onClick="location.href='index.asp?status=Handlingen blev annulleret!'";></p>
  </font>
  </blockquote>
  </fieldset>
    </blockquote>
    </form>
    </td>
    <td width="30%" valign="top" height="100%">
 
  <form method="POST" name="AdminA" action="index.asp" onSubmit="return hovedFunktionAdminA();">
 
      <fieldset style="padding: 2">
  <legend align="center"><font face="Trebuchet MS">Artikler</font></legend>
    <blockquote>

    <div id="visAdminAValg" style="display:block; position:relative;">
    <input type="radio" value="IndsaetArtikel" name="valg" onClick="document.AdminA.Ok.disabled = false;"></font><font face="Trebuchet MS" size="2">Opret
    artikel</font><p>
    </p>
    <p><font face="Trebuchet MS">
    <input type="radio" value="OpdaterArtikel" name="valg" onClick="document.AdminA.Ok.disabled = false;"><font size="2">Opdatér </font></font><font face="Trebuchet MS" size="2">
    artikel</font></p>
    <p><font face="Trebuchet MS">
    <input type="radio" value="SletArtikel" name="valg" onClick="document.AdminA.Ok.disabled = false;"></font><font face="Trebuchet MS" size="2">Slet
    artikel</font></p>
    </div>
   
<font face="Trebuchet MS"><font size="2"><div id="tekst1AdminA" style="display:block; position:relative;">
        <layer id="lag2"></layer></div></font>

<div id="visAdminAsektion" style="display:None; position:relative;">
  <p><font size="2">Sektion<br>
  </font>
  <select size="5" style="width: 120px" name="sektion" onclick="self.IndlaesMenuer(this.form, this, this.form.emne);"> 
  </select></p>
  </div>
  <div id="visAdminAemne" style="display:None; position:relative;">
  <p><font size="2">Emne<br>
  </font>
  <select size="5" style="width: 120px" name="emne" onclick="self.IndlaesMenuer(this.form, this, this.form.artikel);">
  </select></p>
  </div>

  <div id="visAdminAartikel" style="display:None; position:relative;">
  <p><font face="Trebuchet MS" size="2">Artikel</font><font size="2"><br>
  </font>
  <select size="5" style="width: 120px" name="artikel">
  </select></p>
  </div>

  <div id="visAdminAaabneIkkePlaceret" style="display:None; position:relative;">
  <p>
  <input type="checkbox" name="ikkePlaceretKnap" value="true" onclick="aabenIkkePlaceret(this.form);"><font size="2">Klik
  her - hvis artiklen i stedet findes under &quot;ikke placerede artikler&quot;.</font></p>
  </div>

  <div id="visAdminAikkePlaceret" style="display:None; position:relative;">
  <p><font face="Trebuchet MS" size="2">Ikke placerede artikler</font><font size="2"><br>
  </font>
  <select name="ikkePlaceret" onClick="self.FokusIkkePlaceret(this.form, this);" size="5" style="width: 120px">
  </select></p>
  </div>
 
  <div id="visAdminAPlaceresSenere" style="display:None; position:relative;">
  <p><font face="Trebuchet MS" size="2">Skal artiklen placeres, som det ovenfor
  er blevet valgt?</font><p>
  <input type="radio" name="PlaceresSenere" value="nej" onClick="document.AdminA.Ok.disabled = false;"><font size="2">Ja!</font><p>
  <input type="radio" name="PlaceresSenere" value="ja" onClick="document.AdminA.Ok.disabled = false;"><font size="2">Nej,
  jeg mangler at oprette den sektion og/eller det emne, som den skal placeres i.
  (Artiklen oprettes derfor under &quot;ikke placerede&quot;).</font>
 
  </div>

 
    <div id="visAdminATekstBokse" style="display:None; position:relative;">

    <font size="2"><div id="tekst2AdminA" style="display:block; position:relative;"></div>

    <p>Titel <br>
  <input type="text" name="titel" size="22"></p>
  <p>Forfatter<br>
  <input type="text" name="forfatter" size="22"></p>
  <p>Beskrivelse<br>
  <textarea rows="7" name="beskrivelse" cols="17"></textarea></p>
  <p>Filnavn<br>
  <input type="text" name="filnavn" size="22"></p>
  <p>
  </div>

  <p>
  <input type="submit" value="    Ok    " name="Ok" disabled="true">&nbsp;
  <input type="button" value="Annullér" name="Annuller" onClick="location.href='index.asp?status=Handlingen blev annulleret!'";><br>
&nbsp;</p>
   
  </blockquote>
   
    </font>
   
      <input type="hidden" name="aendret" value=" ">
      <input type="hidden" name="artikelnr" value="0">
      <input type="hidden" name="niveau" value="0">
   
  </font>
   
  </form>
  </font>
</table>
</body>
</html>

<script>gruppe[2][1]=new sektion("63","test1","1");gruppe[2][2]=new sektion("64","titel2","3");gruppe[2][3]=new sektion("65","titel3","4");gruppe[2][4]=new sektion("66","titel4","5");gruppe[3][1]=new emne("3","Emne1", "1", "1","1","1");gruppe[3][2]=new emne("4","Emne2", "2", "1","2","1");gruppe[3][3]=new emne("5","Emne3", "3", "1","3","1");gruppe[3][4]=new emne("7","Emne3½", "3", "1","4","2");</script>
Avatar billede lightbrain Nybegynder
19. juli 2002 - 17:23 #1
Jeg glemte lige at sige, at det er hvis man trykker "Opdatér sektion" at det bliver tydeligt, at 2 er sprunget over, dvs. menupunktet 2.
Avatar billede jakoba Nybegynder
19. juli 2002 - 17:33 #2
2 kilometer kode, og du fortæller ikke hvilken variabel der tæller eller hvor i koden der tælles.

jeg er for doven.
Avatar billede lightbrain Nybegynder
19. juli 2002 - 17:39 #3
Problembarnet er funktionen "hovedFunktionAdminS()", hvor værdien for "document.AdminS.niveau.value = gruppe[2].length + 1;" springer over 2, når man har oprettet den sektion nr. 2, derefter laver den ikke flere spring.
Avatar billede lightbrain Nybegynder
19. juli 2002 - 17:41 #4
Grunden til, at jeg smider hele koden med, er fordi at man derved får mulighed for at køre hjemmesiden og se problemet fra forskellige vinkler.
Avatar billede jakoba Nybegynder
19. juli 2002 - 17:54 #5
kunne det være så simpelt som
        document.AdminS.niveau.value = parseInt("0"+document.AdminS.niveau.value,10) + 1;
istedet for:
        document.AdminS.niveau.value = gruppe[2].length + 1;

variablen  gruppe[2].length  der ikke umiddelbart ud til at være noget med niveauet at gøre, og det er under alle omstændigheder uheldigt at incrementere over i en anden variabel.
Avatar billede lightbrain Nybegynder
19. juli 2002 - 18:03 #6
Gjort, men så sætter den bare "document.AdminS.niveau.value" til 1 ved alle oprettede sektion.

Vil det være en fordel for dig, hvis jeg lagde siden ud på internet, så du fik mulighed for at teste den online?
Avatar billede jakoba Nybegynder
19. juli 2002 - 18:20 #7
fordel for mig, men risiko for dig, for så kan jeg (og alle andre) jo snave i din admin.

Hey, jeg tror jeg har den. det er måden du tæller på. I javascript tæller alle numerisk indexerede arrays fra 0.
    gruppe[2] = new Array();
                  // nu er gruppe[2].length = 0
gruppe[2][1]=new sektion("63","test1","1");
                  // nu er gruppe[2].length = 2
// fordi arrayelementet gruppe[2][0] bliver talt med selvom det har værdien 'undefined'

nedenfor har jeg rettet så der tælles som du ænsker, men alle de steder du så slår op i de arrays skal der rettes så index-værdien er een mindre.

<script>
gruppe[2][0]=new sektion("63","test1","1");  // nu er gruppe[2].length = 1
gruppe[2][1]=new sektion("64","titel2","3"); // nu er gruppe[2].length = 2
gruppe[2][2]=new sektion("65","titel3","4"); // nu er gruppe[2].length = 3
gruppe[2][3]=new sektion("66","titel4","5"); // nu er gruppe[2].length = 4
gruppe[3][0]=new emne("3","Emne1", "1", "1","1","1");
gruppe[3][1]=new emne("4","Emne2", "2", "1","2","1");
gruppe[3][2]=new emne("5","Emne3", "3", "1","3","1");
gruppe[3][3]=new emne("7","Emne3½", "3", "1","4","2");
</script>

    "Rigtige programmører bruger 0-nummerering" :-))

mvh JakobA
Avatar billede lightbrain Nybegynder
19. juli 2002 - 19:27 #8
Ok, det er fordi jeg springer over 0-nummeringen, som så først tælles med, dog undefined, når jeg har oprettet objekt nr. 2. Jeg har ikke opdaget denne fejl - jeg satte bare alle tællerne til 1, og så gik det også, indtil jeg skulle starte fra bunden med at oprette objekter.

Jeg takker mange gange for din hjælp :-)
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