replace() komma
Sorgenkind mech
- javascript
0 Forumsbimmel0 mech
moin
komm grad ausm forumsarchiv und hab eigentlich auch was gefunden .... nur funktionierte das nich so wirklich
habe mehrere varianten probiert, doch es geht nich, er sagt zwar kein fehler, doch der wert is am ende immer 0
das script dieht ungefähr so aus, nein genau so:
<script language="javascript">
<?php
$db = @MYSQL_CONNECT($server,$user);
if($db)
{
$selection = mysql_select_db("rt",$db);
$einstellungen = mysql_query("SELECT * FROM einstellungen");
$einstellungen = mysql_fetch_array($einstellungen,MYSQL_ASSOC);
}
?>
function vkkkk()
{
if(confirm("Soll der VK wirklich berechnet werden? Jedliche änderungen am VK werden verloren gehen!"))
{
var x=0
var ek1=0; var ek2=0; var ek3=0; var ek4=0; var ek5=0; var ek6=0;
if(document.getElementById('ek1').value > 0)
{
var ek1 = document.getElementById('ek1').value;
x++;
}
if(document.getElementById('ek2').value > 0)
{
var ek2 = document.getElementById('ek2').value;
x++;
}
if(document.getElementById('ek3').value > 0)
{
var ek3 = document.getElementById('ek3').value;
x++;
}
if(document.getElementById('ek4').value > 0)
{
var ek4 = document.getElementById('ek4').value;
x++;
}
if(document.getElementById('ek5').value > 0)
{
var ek5 = document.getElementById('ek5').value;
x++;
}
if(document.getElementById('ek6').value > 0)
{
var ek6 = document.getElementById('ek6').value;
x++;
}
var vk=0;
ek1=String(ek1).replace(/,/,"."); // geht nich ;( //
ek2=String(ek2).replace(",","."); // geht auch nich ;( //
ek3=String(ek3).replace(/,/,".");
ek4=String(ek4).replace(/,/,".");
ek5=String(ek5).replace(/,/,".");
ek6=String(ek6).replace(/,/,".");
alert(ek1); // --> is immer "0" //
vk = Number(ek1) + Number(ek2) + Number(ek3) + Number(ek4) + Number(ek5) + Number(ek6);
if(vk)
{
vk = vk / x;
}
if(vk < "<?php echo $einstellungen['high1']; ?>") var rabatt = <?php echo $einstellungen['rabatt1']; ?>;
if(vk >= "<?php echo $einstellungen['low2']; ?>" && vk < "<?php echo $einstellungen['high2']; ?>") var rabatt = <?php echo $einstellungen['rabatt2']; ?>;
if(vk >= "<?php echo $einstellungen['low3']; ?>" && vk < "<?php echo $einstellungen['high3']; ?>") var rabatt = <?php echo $einstellungen['rabatt3']; ?>;
if(vk >= "<?php echo $einstellungen['low4']; ?>" && vk < "<?php echo $einstellungen['high4']; ?>") var rabatt = <?php echo $einstellungen['rabatt4']; ?>;
if(vk >= "<?php echo $einstellungen['low5']; ?>" && vk < "<?php echo $einstellungen['high5']; ?>") var rabatt = <?php echo $einstellungen['rabatt5']; ?>;
if(vk >= "<?php echo $einstellungen['low6']; ?>") var rabatt = <?php echo $einstellungen['rabatt6']; ?>;
vk = vk + vk*rabatt/100;
vk=String(vk);
var kommastellen = vk.split(".");
if(kommastellen[1])
{
if(kommastellen[1].length >2)
{
kommastellen[1] = kommastellen[1].slice(0,2);
}
if(kommastellen[1].length == 1)
{
kommastellen[1] = String(kommastellen[1]) + "0";
}
vk = kommastellen[0] + "." + kommastellen[1];
}
document.getElementById('vk').value=vk;
}
}
</script>
die kommentare sind nachträglich eingefügt, die existieren im wirklichen script nich ......... ich weiß es ich weiß es ganz genau es is ein total bescheueerter fehler *wenigstensdasmitgewissheitweiß*
bitte gebt mir nochmal n kleinen tipp
komm grad ausm forumsarchiv und hab eigentlich auch was gefunden .... nur funktionierte das nich so wirklich
habe mehrere varianten probiert, doch es geht nich, er sagt zwar kein fehler, doch der wert is am ende immer 0
das script dieht ungefähr so aus, nein genau so:
<script language="javascript">
[450 Zeilen PHP-Code..]
</script>
die kommentare sind nachträglich eingefügt, die existieren im wirklichen script nich ......... ich weiß es ich weiß es ganz genau es is ein total bescheueerter fehler *wenigstensdasmitgewissheitweiß*
bitte gebt mir nochmal n kleinen tipp
<img src="/images/03.gif" width=248 height=119 border=0 alt="Was willst du jetzt eigentlich wissen?">
naaaaaaaaaaaaa
1. ich will nicht wissen, ich würde gerne wissen
und das wäre wie ich nu aus einem string das komma in nen punkt wandle, das macht der nämlich nich
außerdem sind es gerade mal 25 zeilen php (+ die kleinen dinger die die werte in die felder setzen), wenn ich mich nich verzählt habe, der rest is js
gruß the mech | code :nc01
und das wäre wie ich nu aus einem string das komma in nen punkt wandle, das macht der nämlich nich
Dann schreib's doch bitte auch so in vollständigen deutschen Sätzen hin. Und ich finde das ehrlich gesagt schon ein ziemlich unverschämt faul, wegen zweier nicht funktionierender Ansätze (ZWEI!) vier Seiten Code abzuladen :/
ek1=String(ek1).replace(/,/,"."); // geht nich ;( //
ek2=String(ek2).replace(",","."); // geht auch nich ;( //
Der erste Ansatz war soweit richtig, das Muster muß in Schrägstriche, aber mit einem Rückstrich müssen nur "Befehlszeichen" wie zum Beispiel Punkt und Schrägstrich maskiert werden (siehe http://selfhtml.teamone.de/javascript/objekte/regexp.htm, "Syntax").
Weiterhin möchtest Du vielleicht ein g hintendran hängen, damit nicht nur das erste Vorkommen ersetzt wird, sondern alles (g wie global).
ek2=ek2.replace(/,/g,".");
Gruß,
soenk.e
und das wäre wie ich nu aus einem string das komma in nen punkt wandle, das macht der nämlich nich
Dann schreib's doch bitte auch so in vollständigen deutschen Sätzen hin. Und ich finde das ehrlich gesagt schon ein ziemlich unverschämt faul, wegen zweier nicht funktionierender Ansätze (ZWEI!) vier Seiten Code abzuladen :/
dachte umso detaillierter um so besser weiß man was genau da passieren soll
ek1=String(ek1).replace(/,/,"."); // geht nich ;( //
ek2=String(ek2).replace(",","."); // geht auch nich ;( //
Der erste Ansatz war soweit richtig, das Muster muß in Schrägstriche, aber mit einem Rückstrich müssen nur "Befehlszeichen" wie zum Beispiel Punkt und Schrägstrich maskiert werden (siehe http://selfhtml.teamone.de/javascript/objekte/regexp.htm, "Syntax").
da war ich vorher schon, und ohne rückstrich hatte ich es auch schon versucht, geht jedoch nicht ;(
Weiterhin möchtest Du vielleicht ein g hintendran hängen, damit nicht nur das erste Vorkommen ersetzt wird, sondern alles (g wie global).
öhm ..... danke, doch ich denke, da das ja im endeffekt alles zahlen sind wird es nicht benötigt, das script is ja dazu da um durch mehreren liefereanten denn eigenen letztendlichen vk zu bestimmen
ek2=ek2.replace(/,/g,".");
Gruß,
soenk.e
thx fürs erste, the mech | code:nc01
Hi Mech,
ich glaub Du bist auf dem völlig falschen Dampfer, das Replace funktioniert nämlich ganz prima. Zum Spielen:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function ersetze() {
wert = document.formular.feld.value;
ek1 = wert.replace(/,/,".");
alert(ek1);
}
</script>
</head>
<body>
<form name="formular">
<input type="text" name="feld"></input>
<input type="submit" value="Ersetzen" onclick="ersetze(); return false;"
</form>
</body>
</html>
Dein Fehler hängt also wohl wo anders. Tipp: Zum Debuggen mal an allen möglichen uind unmöglichen Stellen alerts reinsetzen, die den value anzeigen, dann kannst Du sehen wo er verloren geht.
Grüße,
Utz
Hi Mech,
moin
ich glaub Du bist auf dem völlig falschen Dampfer, das Replace funktioniert nämlich ganz prima.
stimmt
Dein Fehler hängt also wohl wo anders. Tipp: Zum Debuggen mal an allen möglichen uind unmöglichen Stellen alerts reinsetzen, die den value anzeigen, dann kannst Du sehen wo er verloren geht.
hatte ich, nur zu spät im script
größer null setzt vorraus, dass im textfeld ja ne zahl steht und kein string ........... ungleich leer funktioniert
Grüße,
Utz
thx, the mech | code:nc01