Lara: Problem For Schleife

Hallo,

ich habe ein Formular, mit dem Angebote für einen Sanit ätsdienst erstellt werden sollen.

Dazu habe ich die Vorgabe n Felder (hier 5).

Ich habe 1 fixe  Zeitdifferenz (x-Stunden) = Dauer
Dann die 5 Felder mit Einheiten | Kosten/EH | Art (Std./km) | Pauschalbetrag | EH inkl | zwsumme | Steuersatz

Dazu folgende Berechnung - nur leider wird nix angezeit. Wo ist der Fehler?? Wer kann mir helfen? - komplettes Skript gerne auch als E-Mail!!

Vielen lieben Dank
LARA

function rechnung()
{
 var stunden = Number(document.angebotsform.stunden.value.replace(/,/,"."));
 var steuersumme = Number(document.angebotsform.steuersumme.value.replace(/,/,"."));
 var zuschlag = Number(document.angebotsform.zuschlag.value.replace(/,/,"."));
 var rabatte = Number(document.angebotsform.rabatte.value.replace(/,/,"."));
 var gutschrift = Number(document.angebotsform.gutschrift.value.replace(/,/,"."));

for (var i = 1; i <= 5; i++) {

var einheiten[i] = Number(document.angebotsform.elements['einheit'+i].value.replace(/,/,"."));
 var kosteneh[i] = Number(document.angebotsform.elements['ko_eh'+i].value.replace(/,/,"."));
 var kostenpa[i] = Number(document.angebotsform.elements['ko_pausch'+i].value.replace(/,/,"."));
 var einheitin[i] = Number(document.angebotsform.elements['einh_inkl'+i].value.replace(/,/,"."));
 var einheit[i] = document.angebotsform.elements['eh'+i].value;
 var steuer[i] = document.angebotsform.elements['rech'+i].value;

if (einheit[i]=="1")
    {
  if (stunden[i] - einheitin[i] <= "0") {
  aus[i] = (einheiten[i] * kostenpa[i]);
  } else {
  aus[i] = (stunden[i] - einheitin[i]) * einheiten[i] * kosteneh[i]  + (einheiten[i] * kostenpa[i]);
  }

}
    else if (einheit[i]=="3")
    {
  if (einheiten[i] - einheitin[i] <= "0") {
  aus[i] = (einheiten[i] * kostenpa[i]);
  } else {
  aus[i] = (einheiten[i] - einheitin[i]) * kosteneh[i]  +  kostenpa[i];
  }

}

if (steuer[i] == "-1")
    {
     aus[i] = "0";
    }

document.angebotsform.zwisu[i].value = aus[i];

{
 if (steuer[i] > 0) {
 steuertmp[i] = aus[i] * steuer[i] / 100;
 }
 else {
 steuertmp[i] = "0";
 }
 document.angebotsform.elements['steuersumme'+i].value = steuertmp[i];
 }

document.angebotsform.endsumme.value = aus + (aus * (zuschlag - rabatte)/100) + steuersumme - gutschrift;

}

}

//-->
</script>

  1. Hi,»»

    var einheiten[i] = Number(document.angebotsform.elements['einheit'+i].value.replace(/,/,"."));

    Was ist ['einheit' + i]? wo ist 'einheit' definiert?

    Was sagt die Javascript console?

    Gruss

    Maulwurf

    1. hi,

      Was ist ['einheit' + i]? wo ist 'einheit' definiert?

      'einheit' ist ein Literal, ein Textstring - wozu (und wenn wie?) sollte der noch vorher "definiert" werden?

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
      1. hi,

        Was ist ['einheit' + i]? wo ist 'einheit' definiert?

        'einheit' ist ein Literal, ein Textstring - wozu (und wenn wie?) sollte der noch vorher "definiert" werden?

        gruß,
        wahsaga

        Hi, hier ist noch das formular. da ist einheit definiert.....

        <input name="id1" type="text" id="id1" style="width:25; background-color:#cccccc; " disabled></td>
                    <td width="200"><input name="bezeichnung1" type="text" id="bezeichnung1" style="width:200; "></td>
                    <td width="30"><input name="einheit1" type="text" id="einheit1" style="width:30; "></td>
                    <td width="30"><input name="ko_eh1" type="text" id="ko_eh1" style="width:30; "></td>

        <td width="40"><select name="eh1" id="eh1" style="width:40; ">
           <option value="0">---</option>
           <option value="1">std</option>
           <option value="2">tag</option>
           <option value="3">km</option>
           <option value="4">stk</option>

        <option value="5">pkg</option>
           <option value="6">einh</option>
           <option value="7">pers</option>
           <option value="8">mlz</option>
           <option value="9">/10</option>
           <option value="10">/100</option>

        <option value="11">/1000</option>
           </select></td>
                    <td width="40"><input name="ko_pausch1" type="text" id="ko_pausch1" style="width:30; "></td>
                    <td width="40"><input name="einh_inkl1" type="text" id="einh_inkl1" style="width:30; "></td>
           <td width="40"><input name="zwisu1" type="text" id="zwisu1" style="width:40; background-color:#F1E4E4;"></td>
                    <td width="40"><select name="rech1" id="rech1" style="width:40; ">
           <option value="-1">ohne Rech</option>
           <option value="0" selected>keine Steuer</option>

        <option value="7">7% MwSt</option>
           <option value="16">16% MwSt</option>
           </select></td>

        1. Hallo Lara,

          <input name="id1" type="text" id="id1" style="width:25; background-color:#cccccc; " disabled></td>

          hat mit deinem Problem zwar nichts zu tun, aber Größen haben im CSS meistens Einheiten, z.B. width:25px; oder width:25%; oder width:25em; oder ...

          In deinem Quellcode habe ich zu "document.angebotsform..." kein Element im HTML gefunden.

          Versuch doch mal zum Debuggen, dir mit alert() die Inhalte/Ergebnisse anzeigen zu lassen.

          Hast du schon einmal in die Javascript-Konsole geschaut? Die Fehlermeldungen sind zumindestens im FF oft recht hilfreich.

          Gruß, Jürgen

          1. Hallo Lara,

            <input name="id1" type="text" id="id1" style="width:25; background-color:#cccccc; " disabled></td>

            hat mit deinem Problem zwar nichts zu tun, aber Größen haben im CSS meistens Einheiten, z.B. width:25px; oder width:25%; oder width:25em; oder ...

            In deinem Quellcode habe ich zu "document.angebotsform..." kein Element im HTML gefunden.

            Versuch doch mal zum Debuggen, dir mit alert() die Inhalte/Ergebnisse anzeigen zu lassen.

            Hast du schon einmal in die Javascript-Konsole geschaut? Die Fehlermeldungen sind zumindestens im FF oft recht hilfreich.

            Gruß, Jürgen

            danke - guter tipp! (mit der konsole) - wusste gar nicht um diese gute sache. nur kann ich mit dem fehler nix anfangen:

            Fehler: rechnung is not defined
            Quelldatei: http://localhost/datei.php?SessionID=71aabbbf7c5ce9b4f4f1083453afdfbf
            Zeile: 1

            1. Hallo Lara,

              Fehler: rechnung is not defined
              Quelldatei: http://localhost/datei.php?SessionID=71aabbbf7c5ce9b4f4f1083453afdfbf
              Zeile: 1

              das konnte daran liegen, dass das Script wegen anderer Fehler abgebrochen wird und die Funktion "rechnung" daher garnicht definiert wurde. Stand sonst nichts in der JS-Konsole?

              Leider habe ich auf "http://localhost/..." keinen Zugriff und kann daher nicht mehr sagen. Stell die Seite entweder mal online oder poste den auf das Wesentliche reduzierten Code, also nur so wenig, dass der Fehler gerade noch da ist. Wahrscheinlich hast du ihn dann sogar gefunden.

              Gruß, Jürgen