Sorgenkind mech: replace() komma

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

  1. 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?">

    1. 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

      1. 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

        1. 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

          1. 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

            1. 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