Problem For Schleife
Lara
- javascript
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>
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
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,
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>
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
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
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