Ja so funktioniert es jetzt nur noch das Endergebnis Formatieren das es wie bei den Isk oben erscheint dann sollte es perfekt sein
Beiträge von Telemachus
-
-
Oben 199987
Unten Reicht schon eine 1Oben 299871
Unten nix, Fehlermeldung kommt trotzdemNur eines von Vielen Beispielen
-
PHP
Alles anzeigen<!DOCTYPE HTML> <html> <head> <title>Untitled</title> </head> <script> function multiply() { var val1 = document.getElementById("isk").value; var val2 = document.getElementById("fracht-msg").value; if (val1 != "" && val2 != "") { var val1 = val1.replace(".", "").replace(",", "."); document.getElementById("endergebnis").innerHTML = val1 * val2; } } function convert(val) { var msgAbove = "Zu Groß"; var msgBelow = "Perfekt"; var limit = 300000; val = (val.replace(",", ".") * 500).toFixed(2); var msgfield = document.getElementById("zuzahlen"); if (val > limit) msgfield.innerHTML = msgAbove; else msgfield.innerHTML = msgBelow; str = val.toString().replace(".", ","); var pos = str.indexOf(","); var result = "", i = 0; do { result += str[i]; i++; if (((pos - i) % 3) == 0) result += "." } while (i < pos - 1) for (; i < str.length; i++) result += str[i]; multiply(); return result; } function inputFracht(inp) { var msgBelow = "1000"; limit1 = 1000000000; var msgLimit1 = "200000"; limit2 = 2000000000; var msgLimit2 = "500000"; var val = inp.value.replace(",", "."); var val2 = document.getElementById("") var outp = document.getElementById("fracht-msg"); if (val >= limit2) outp.innerHTML = msgLimit2; else if (val >= limit1) outp.innerHTML = msgLimit1; else outp.innerHTML = msgBelow; multiply(); } </script> <form> Frachtgroesse<br> <input type="text" id="fracht" pattern="[1-9][0-9]*(,[0-9]+)?" oninput="isk.value = convert(fracht.value);"><br> <input type="reset" value="Löschen" /> <br> Isk zu zahlen:<br> <output id="isk"></output> <output id="zuzahlen"></output> Fracht: <input type="text" id="fracht2" pattern="[1-9][0-9]*(,[0-9]+)?" oninput="inputFracht(this);"> <output id="fracht-msg"></output><br> <output id="endergebnis"></output> </form> <body> </body> </html>
Hab es mal Angepasst hoffe kommst klar was nun welchen wert hat.
Theoretisch funktioniert es da hier aber so riesengroße Zahlen im Spiel sind (mrd) kommt irgendwann mal ein NaN fehler, könnte das noch an der Formatierung des Ergebnisses liegen?
-
Jetzt hab ich es verstanden
HTML
Alles anzeigen<!DOCTYPE HTML> <html> <head> <title>Untitled</title> </head> <script> function convert(val) { var msgAbove = "Zu Groß"; var msgBelow = "Perfekt"; var limit = 150000000; val = (val.replace(",", ".") * 500).toFixed(2); var msgfield = document.getElementById("zuzahlen"); if (val > limit) msgfield.innerHTML = msgAbove; else msgfield.innerHTML = msgBelow; str = val.toString().replace(".", ","); var pos = str.indexOf(","); var result = "", i = 0; do { result += str[i]; i++; if (((pos - i) % 3) == 0) result += "." } while (i < pos - 1) for (; i < str.length; i++) result += str[i]; return result; } function inputFracht(inp) { var msgBelow = "Mehrzahlen"; limit1 = 10; var msgLimit1 = "100"; limit2 = 100; var msgLimit2 = "200"; var val = inp.value.replace(",", "."); var outp = document.getElementById("fracht-msg"); if (val >= limit2) outp.innerHTML = msgLimit2; else if (val >= limit1) outp.innerHTML = msgLimit1; else outp.innerHTML = msgBelow; } </script> <form oninput="isk.value = convert(fracht.value);"> Frachtgroesse<br> <input type="text" id="fracht" pattern="[1-9][0-9]*(,[0-9]+)?"><br> <input type="reset" value="Löschen" /> <br> Isk zu zahlen:<br> <output id="isk"></output> <output id="zuzahlen"></output> </form> <style> #fracht:invalid { border: 2px solid red; } </style> Fracht: <input type="text" id="fracht" pattern="[1-9][0-9]*(,[0-9]+)?" oninput="inputFracht(this);"> <output id="fracht-msg"></output> <body> </body> </html>
Das Funktioneirt nun Super.
Gibt es Jetzt die Möglichkeit denn Wert der Im Ersten Feld Rauskommt mit dem Festhinterlegten Wert zu addieren? also zb oben kommt 500.000 Unten wird Aufgrund der Eingabe der Wert 250.000 ausgeben das nun Extra die Zahl 750.00 erscheint?
-
HTML
Alles anzeigen<!DOCTYPE HTML> <html> <head> <title>Untitled</title> </head> <script> function convert(val) { var msgAbove = "Zu Groß"; var msgBelow = "Perfekt"; var limit = 150000000; val = (val.replace(",", ".") * 500).toFixed(2); var msgfield = document.getElementById("zuzahlen"); if (val > limit) msgfield.innerHTML = msgAbove; else msgfield.innerHTML = msgBelow; str = val.toString().replace(".", ","); var pos = str.indexOf(","); var result = "", i = 0; do { result += str[i]; i++; if (((pos - i) % 3) == 0) result += "." } while (i < pos - 1) for (; i < str.length; i++) result += str[i]; return result; } </script> <form oninput="isk.value = convert(fracht.value);"> Frachtgroesse<br> <input type="text" id="fracht" pattern="[1-9][0-9]*(,[0-9]+)?"><br> <input type="reset" value="Löschen" /> <br> Isk zu zahlen:<br> <output id="isk"></output> <output id="zuzahlen"></output> </form> <style> #fracht:invalid { border: 2px solid red; } </style> <input type="text" id="fracht" pattern="[1-9][0-9]*(,[0-9]+)?" oninput="inputFracht(this);"> <output id="fracht-msg"></output> <body> </body> </html>
also das ist der Code, so hab ich ihn aus dem Forum kopiert
-
Ich hab dein Code wahrscheinlich falsch eingefügt mal wieder bekomme nur Fehler Meldung.
Aber ich glaube wir stückeln uns aneinander Vorbei :O)
also hie rist die Datei mit deinem Quellcode : http://planetsmc.de/hunter/jfneu.html
Das Obere Eingabe Feld passt Super und soll so bleiben wie es ist. Das 2te Neue Feld soll nur ein Eingabefeld sein und je nachdem welche Zahl man eingibt soll halt eine Meldung von ca 3 meldungen generiert werden.
Optimalerweise Wird dann das Ergebniss von Oben, also die Zahl die hinter ISk Zahlen erscheint, mit der Zahl welche in der Meldung aus dem 2ten Feld Generiert wird (eine dieser 3 Optionen) addiert und in einem 3 ten Feld Ausgegeben damit man die Zahl direkt per Copy and Paste verwenden kann (ist kein Muss wenn es nicht geht muss man normal kopieren halt)
Hoffe du weisst jetzt was ich meine.
Hier der Komplette Code der Html den ich von dir verwendet habe
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
</head>
<script> function convert(val) {
var msgAbove = "Zu Groß";
var msgBelow = "Perfekt";
var limit = 150000000;
val = (val.replace(",", ".") * 500).toFixed(2);
var msgfield = document.getElementById("zuzahlen");
if (val > limit) msgfield.innerHTML = msgAbove; else msgfield.innerHTML = msgBelow;
str = val.toString().replace(".", ",");
var pos = str.indexOf(",");
var result = "", i = 0;
do {
result += str;
i++;
if (((pos - i) % 3) == 0) result += "."
} while (i < pos - 1)
for i < str.length; i++) result += str;
return result;
}
</script>
<form oninput="isk.value = convert(fracht.value);">
Frachtgroesse<br>
<input type="text" id="fracht" pattern="[1-9][0-9]*(,[0-9]+)?"><br>
<input type="reset" value="Löschen" />
<br>
Isk zu zahlen:<br>
<output id="isk"></output>
<output id="zuzahlen"></output>
</form>
<style>
#fracht:invalid {
border: 2px solid red;
} </style>
<input type="text" id="fracht" pattern="[1-9][0-9]*(,[0-9]+)?" oninput="inputFracht(this);"> <output id="fracht-msg"></output>
<body>
</body>
</html>
mfg Tele
-
Ok ich ha mich wohl bissel schelcht ausgedrück. ich habe unterhalb deines Codes diese Zeile eingefügt
<input type="text" id="fracht" pattern="[1-9][0-9]*(,[0-9]+)?"><br>
Damit hab ich ein neues Eingabe feld Geschaffen. Nun möchte ich wenn man dort eine Zahl eingibt danach die Meldung wie bei dem Ersten Feld aus deinem Code Generiert wird:Also Gibt man einen Wert ein und je nach Größe des Wertes kommt Meldung 1. 2. oder 3 zb
-
Du bist mir eine Große Hilfe. Danke schonmal. Es Funktioniert. Ich möchte jedoch das die Ausgabe nicht anhand von dem Berechneten Oberen Wert stattfinden sondern Anhand der Eingabe der Zahl in dem Unterne Feld, geht das?
mfg Tele
-
Genau und das ist ja in Ordnung so, möchte jetzt nur noch eine Meldung Generieren können wie oben beschrieben wenn Die Zahlen einen Gewissen Wert überschreiten
-
Nein das macht er von alleine wenns net passt kommt da irgendwie NaN. Es Soll noch ein 2tes Eingabefeld hin und je nachdem wie hoch der Wert ist zb über 1.000.000.000. soll eine Meldung generiert werden in der Steht Man muss Betrag X Zahlen oder Wenn der Wert Über 2.000.000.000. Ist kommt Halt Betrag Y dazu.
-
Das Funktioniert Super. Vielen Dank. Wo gebe ich denn ein ab Welchen Wert er Meldung X generiert? bzw kann ich das auch schon so machen das er bereits in der Eingabe meckert?
mfg Tele
-
Der Quellcoe sieht so aus:
<html>
<head>
<title>Untitled</title>
</head><body>
</body>
<form oninput="isk.value = fracht.value * 500">Frachtgroesse<br>
<input type="text" id="fracht"><br>
<input type="reset" value="Löschen" />
<br>
Isk zu zahlen:<br>
<output name="isk"></output>
<?php
<script>var test = "500000,777";
var test2 = "2000.777";
function convert(str) {
str = str.replace(",", ".");
str = parseFloat(str).toFixed(2);
var pos = str.indexOf(".");
str = str.replace(".", ",")
var result = "";
var i = 0;
do {
result += str[i];
i++;
if (((pos - i) % 3) == 0) result += "."
} while (i < pos - 1)
for i < str.length; i++) result += str[i];
return result;
}
console.log(convert(test));console.log(convert(test2));</script>>
</form></html>
-
Ich hab deinen Code Kopiert und eingefügt, aber ich bekomm leiter nur fehlermeldung
Siehe da http://planetsmc.de/hunter/test.php
mfg Tele
-
Hallo ich hab heute angefangen mir eine Seite zu erstellen die zur Berechnung eines Wertes gedacht ist, dies ist der Code:
<!DOCTYPE HTML><html>
<head>
<title>Untitled</title>
</head><body>
</body>
<form oninput="isk.value = fracht.value * 500">Frachtgroesse<br>
<input type="text" id="fracht"><br>
<input type="reset" value="Löschen" />
<br>
Isk zu zahlen:<br>
<output name="isk"></output></form>
</html>
Es funktioniert soweit ganz gut man gibt den Wert oben ein und er wird mal 500 multipliziert so wie ich es möchte. Allerdings sieht die ausgabe so aus: z.b 100000 ich möchte aber gerne das er es mit Punkt oder Komma ausgibt also z.b. so 100.000. wie stelle ich das an?. Schön wäre auch wenn man das Ergebnis in einem Feld wie dem Input oben hätte damit man das Ergebis einfach per Copy and Paste nutzen kann.Desweiteren möchte ich gerne (vermutlich mit if else) das wenn das Ergebnis eine Gewisse Größe Über oder Unterschreitet ein Vordefinierter Text als Hinweis kommt.
Leider sind meine Php Kenntnisse gar nicht so gut und ich bin daher auf eure HIlfe angewiesen.
P.S. der Code is net wirklich php ich weies ist aus einem html5 Tutorial aber es funktioniert :O)
mfg Tele