Werte aus HTML erfassen und JaScript damit rechnen
Benedikt
- javascript
Hallo,
ich habe eine Html-Seite gemacht mit Eingabefeldern. Nun möchte ich diese Werte in den Feldern nehmen und damit rechnen ich weiß nur nicht wie ich diese Felderwerte erfasse und in Variable im JavaScript umsetzte: hier ist der Quellcode (leicht veränderte Werte im Formelteil beim rechnen! :-)):
<html>
<head><title>- Preiserrechner</title>
<script language="JavaScript">
<!--
function rechne()
{
var d1, d2, d3, d4, d5, d6, d7;
d1=window.document.hansl.einkaufspreis;
d2=window.document.hansl.fracht;
d3=window.document.hansl.stellen;
d4=window.document.hansl.menge;
if(d3==1)
{
d5 = ( d4 ^ -0,7 ) * 1500;
d6 = ( ( ( d1 + d2 ) * d4 ) + d5 ) / d4;
d7 = d6 * 1,16;
alert ("Preis Netto = "+ d6);
}
if(d3=="2")
{
d5 = ( d4 ^ -0,8 ) * 1000;
d6 = ( ( ( d1 + d2 ) * d4 ) + d5 ) / d4;
d7 = d6 * 1,16;
alert ("Preis Netto = "+ d6);
}
if(d3!="1" && d3!="2")
{
alert("Auswertung nicht möglich!");
}
}
//-->
</script>
<noscript></noscript>
</head>
<body>
<font face="tahoma">
<form name="hansl" action="index.htm">
Einkaufspreis: <input type="Text" name="einkaufspreis" value="" size="6" maxlength="6"> €<br>
Fracht: <input type="Text" name="fracht" value="" size="6" maxlength="6"> €<br>
Abladestellen: <input type="Text" name="stellen" value="" size="6" maxlength="6"> Anzahl<br>
Menge: <input type="Text" name="menge" value="" size="6" maxlength="6"> Liter<br>
<br>
<input type="button" value=" Rechne " onClick="rechne()">
</form>
</font>
</body>
</html>
Hallo,
ich habe eine Html-Seite gemacht mit Eingabefeldern. Nun möchte ich diese Werte in den Feldern nehmen und damit rechnen ich weiß nur nicht wie ich diese Felderwerte erfasse und in Variable im JavaScript umsetzte: hier ist der Quellcode (leicht veränderte Werte im Formelteil beim rechnen! :-)):
<html>
<head><title>- Preiserrechner</title>
<script language="JavaScript">
<!--
function rechne()
{
var d1, d2, d3, d4, d5, d6, d7;
d1=window.document.hansl.einkaufspreis;
d2=window.document.hansl.fracht;
d3=window.document.hansl.stellen;
d4=window.document.hansl.menge;
if(d3==1)
{
d5 = ( d4 ^ -0,7 ) * 1500;
d6 = ( ( ( d1 + d2 ) * d4 ) + d5 ) / d4;
d7 = d6 * 1,16;
alert ("Preis Netto = "+ d6);
}
if(d3=="2")
{
d5 = ( d4 ^ -0,8 ) * 1000;
d6 = ( ( ( d1 + d2 ) * d4 ) + d5 ) / d4;
d7 = d6 * 1,16;
alert ("Preis Netto = "+ d6);
}
if(d3!="1" && d3!="2")
{
alert("Auswertung nicht möglich!");
}
}
//-->
</script>
<noscript></noscript>
</head>
<body>
<font face="tahoma">
<form name="hansl" action="index.htm">
Einkaufspreis: <input type="Text" name="einkaufspreis" value="" size="6" maxlength="6"> €<br>
Fracht: <input type="Text" name="fracht" value="" size="6" maxlength="6"> €<br>
Abladestellen: <input type="Text" name="stellen" value="" size="6" maxlength="6"> Anzahl<br>
Menge: <input type="Text" name="menge" value="" size="6" maxlength="6"> Liter<br>
<br>
<input type="button" value=" Rechne " onClick="rechne()">
</form>
</font>
</body>
</html>
aehm, irgendwie verstehe ich Dein Problem nicht so richtig. Aber ich habe einen Fehler in Deinem Quelltext gefunden.
d1=window.document.hansl.einkaufspreis;
d2=window.document.hansl.fracht;
d3=window.document.hansl.stellen;
d4=window.document.hansl.menge;
muss wie folgt heissen:
d1=window.document.hansl.einkaufspreis.value;
d2=window.document.hansl.fracht.value;
d3=window.document.hansl.stellen.value;
d4=window.document.hansl.menge.value;
War vielleicht das Dein Problem? Das es nicht funktioniert hat ?
gruss, Monika
Hallo, Benedikt,
ich habe eine Html-Seite gemacht mit Eingabefeldern. Nun möchte ich diese Werte in den Feldern nehmen und damit rechnen ich weiß nur nicht wie ich diese Felderwerte erfasse und in Variable im JavaScript umsetzte: hier ist der Quellcode (leicht veränderte Werte im Formelteil beim rechnen! :-)):
Du hast ".value" vergessen. Mit parseFloat stellst Du sicher, daß nur numerische Werte verarbeitet werden. Ergänzt habe ich Dein Skript durch eine kaufmännische Rundung (http://dcljs.de/faq/antwort.php?Antwort=rechnen_runden).
Ich hoffe, es funktioniert jetzt. Vorher aber nochmal gut testen!!!
Grüße,
Sebastian
------------ schnipp ------------
<html>
<head><title>- Preiserrechner</title>
<script language="JavaScript">
<!--
function kaufm(x) {
var k = (Math.round(x * 100) / 100).toString();
k += (k.indexOf('.') == -1)? '.00' : '00';
var p = k.indexOf('.'), m = k.indexOf('-.');
var f = (p == 0 || m == 0)? '0,' : ',';
return k.substring(0, p) + f + k.substring(p+1, p+3);
}
function rechne()
{
var d1, d2, d3, d4, d5, d6, d7;
d1=parseFloat(window.document.hansl.einkaufspreis.value);
d2=parseFloat(window.document.hansl.fracht.value);
d3=parseFloat(window.document.hansl.stellen.value);
d4=parseFloat(window.document.hansl.menge.value);
if(d3==1)
{
d5 = ( d4 ^ -0,7 ) * 1500;
d6 = ( ( ( d1 + d2 ) * d4 ) + d5 ) / d4;
d7 = d6 * 1,16;
alert ("Preis Netto: " + kaufm(d6) + " Euro");
}
else if(d3==2)
{
d5 = ( d4 ^ -0,8 ) * 1000;
d6 = ( ( ( d1 + d2 ) * d4 ) + d5 ) / d4;
d7 = d6 * 1,16;
alert ("Preis Netto = " + kaufm(d6) + " Euro");
}
else if(d3!=1 && d3!=2)
{
alert("Auswertung nicht möglich!");
}
}
//-->
</script>
<noscript></noscript>
</head>
<body>
<font face="tahoma">
<form name="hansl" action="index.htm">
Einkaufspreis:
<input type="Text" name="einkaufspreis" value="" size="6" maxlength="6"> €
<br>
Fracht:
<input type="Text" name="fracht" value="" size="6" maxlength="6"> €
<br>
Abladestellen:
<input type="Text" name="stellen" value="" size="6" maxlength="6"> Anzahl
<br>
Menge:
<input type="Text" name="menge" value="" size="6" maxlength="6"> Liter<br>
<br>
<input type="button" value=" Rechne " onClick="rechne()">
</form>
</font>
</body>
</html>