Abbadon: länge in prozent addieren

Hi, ich komme einfach nicht weiter.
Ich will (wie schon vorher mal geschrieben) ein Formular schreiben mit Fortschrittsbalken. Mein damaliges Problem wurde kompitänt beraten, leider stellt sich mir noch ein Problem. Ich will ein Balken machen, welcher Anzeigt wieviel Prozent er schon ausgefüllt hat. Ich wollte das dann so machen, dass der DIV-TAG seine Breite in Prozent einfach "addiert". Heist: ich habe 8 verbindliche Fragen die der Besucher ausfüllen muss. Das mache dann immer +12,5%. Nun hätte ich gerne das der DIV-BALKEN sich automatisch bei korrektem ausfüllen um diese Prozentzahl verlängert und natürlich verringert, wenn der Besucher Angaben wieder löscht.
Also wie kann ich das machen. Habe es schon so versucht:

if(document.getElementsByName("Name")[0].value != "") {
  document.getElementsByName("Fortschrittsbalken")[0].width += "12.5%";
}

Funktioniert leider aber nicht :(

Vielen dank schon mal im voraus für die Antwort ;-)

  1. Hallo Abbadon,

    document.getElementsByName("Fortschrittsbalken")[0].width += "12.5%";

    hiermit verknüpfst du nur zwei Strings. Berechne einfach die Prozentzahl direkt:

    ...width = n*12.5 + "%"

    Gruß, Jürgen

    1. Danke Jürgen,
      Ok werde gleich mal versuchen das Umzusetzen. Wird aber wohl kein Problem sein ;-)

    2. Danke für die Hilfe, aber ich bekomme es trotzdem leider nicht hin =(.
      Ich lasse das Script jetzt einfach weg, scheint zu kompliziert für mich zu sein.

      1. Hallo Abbadon,

        Danke für die Hilfe, aber ich bekomme es trotzdem leider nicht hin =(.

        na, nicht so schnell aufgeben.

        Ich lasse das Script jetzt einfach weg, scheint zu kompliziert für mich zu sein.

        Wo klemmt es denn? %-Angaben beziehen sich (glaube ich) auf das nächst höhere absolut oder relativ positionierte Element. Evtl. ist die Angabe der Breite in Pixel besser:

        var Breite = 500;  // Maximale Breite des Balkens in px  
        var n              // gibt an, ob es die 1, 2, ... oder 8. Frage war.  
          
        if(document.getElementsByName("Name")[0].value != "") {  
          document.getElementsByName("Fortschrittsbalken")[0].width = n*0.125*500 + "px"  
        }
        

        (Ungetestete Idee)

        Zeig doch mal, was du bisher hast.

        Gruß, Jürgen

        1. Thy für deine Hilfe, habs aber doch hinbekommen. Ein Problem war, weil ich das mit Dreamweaver (der übersichtlichkeitshalber) geschrieben habe und da habe und der hat leider die falsche js-datei ausgewählt. Konnte es sehr gut dank deiner Hilfe umsetzen.

          bisher habe ich das hier:
          var n;
          n = 0;

          function vorname() {
           if(document.getElementsByName("vorname")[0].value != "") {
            n = n + 1;
           } else if(document.getElementsByName("vorname")[0].value == "") {
            n = n - 1;
           }
           document.getElementsByName("fb")[0].style.width = n*12.5 + "%";
           document.getElementsByName("fb")[1].value = n*12.5 + "%";
           if(document.getElementsByName("fb")[0].style.width <= "25%") {
            document.getElementsByName("fb")[0].style.backgroundColor = "red";
            document.getElementsByName("fb")[1].style.Font = "red";
           }
          }

          nur halt muss ich jetzt noch rausfinden wie ich eine textfarbe mit js ändere^^.
          (fb[0] = fortschrittsbalken, fb[1] = Prozentanzahl)

          1. nur halt muss ich jetzt noch rausfinden wie ich eine textfarbe mit js ändere^^.

            Was Ich auch gerade eben rausbekommen habe^^