Script rechnet irgendwie falsch???
Rudi Müller
- javascript
0 Axel Richter0 Rudi
Hallo
ich habe ein Portoberechnungsystem geschrieben wenn ich jeweils ein radio Button klicke soll ein neuer Endpreis bereuchnet werden aber bei radio Button "vorkasse_eu" und "nachnahme" kommt ein falsches Ergebnis. Ich verstehe nicht wieso das Script bei vorkasse_eu = 27.34 und bei nachnahme = 42.34 ausspuckt?
Und beim Script Start steht kommischerweise auch ein falsches Ergebnis nicht die 12,34 sonder 42.34
Ich zeige euch mal mein Script, vielleicht sieht irgendjemand den Fehler?
Danke!
<?php echo "<strong>Summe: </strong> ";
static $gesamt = 12.34;
// static $gesamt = 12.34;
echo "<strong>".$zusammen = number_format ($gesamt, 2, ",", ".") . " ⬠</strong>"; ?>
<script type="text/javascript">
<!--
function radio_vorkasse_de()
{
document.form1.nachnahme.checked = false;
document.form1.vorkasse_eu.checked = false;
if (document.form1.vorkasse_de.checked == true )
{
var gesamtpreis = 0;
var gesamtpreis = "<?php echo $gesamt += 5.00; ?>";
}
if(gesamtpreis != "")
{
gesamt_preis(gesamtpreis);
}
}
function radio_vorkasse_eu()
{
document.form1.nachnahme.checked = false;
document.form1.vorkasse_de.checked = false;
if (document.form1.vorkasse_eu.checked == true )
{
var gesamtpreis = "<?php echo $gesamt += 10.00; ?>";
}
if(gesamtpreis != "")
{
gesamt_preis(gesamtpreis);
}
}
function radio_nachnahme()
{
document.form1.vorkasse_de.checked = false;
document.form1.vorkasse_eu.checked = false;
if (document.form1.nachnahme.checked == true )
{
var gesamtpreis = 0;
var gesamtpreis = "<?php echo $gesamt += 15.00; ?>";
}
if(gesamtpreis != "")
{
gesamt_preis(gesamtpreis);
}
}
function gesamt_preis(gesamtpreis)
{
document.inkl_preis.preis.value = gesamtpreis;
}
//-->
</script>
<body >
<form name="form1" action="" method="post">
<fieldset>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Versand- und Zahlungsart</td>
</tr>
<tr>
<td>
<input type="radio" name="vorkasse_de" value="ON" onClick="radio_vorkasse_de()">
Post (bis 30 kg) bei Vorkasse (5 â¬)<br>
<input type="radio" name="vorkasse_eu" value="ON" onClick="radio_vorkasse_eu()">
Post (bis 25 kg) bei Vorkasse auß erhalb Deutschland (10 â¬)<br>
<input type="radio" name="nachnahme" value="ON" onClick="radio_nachnahme()">
Post (bis 30 kg) bei Nachnahme (15 â¬) </td>
</tr>
</table>
</fieldset>
</form>
<form name="inkl_preis" method="post">
<input name="preis" value="<?php echo $gesamt; ?>" type="text" size="10" maxlength="10" readonly> inkl. Porto
</form>
</body>
Hallo,
ich habe ein Portoberechnungsystem geschrieben wenn ich jeweils ein radio Button klicke soll ein neuer Endpreis bereuchnet werden aber bei radio Button "vorkasse_eu" und "nachnahme" kommt ein falsches Ergebnis. Ich verstehe nicht wieso das Script bei vorkasse_eu = 27.34 und bei nachnahme = 42.34 ausspuckt?
Wahrscheinich, weil Dein PHP genau das in den HTML/JavaScript-Quelltext schreibt.
<script type="text/javascript">
<!--
...
var gesamtpreis = "<?php echo $gesamt += 5.00; ?>";
var gesamtpreis = "<?php echo $gesamt += 10.00; ?>";
var gesamtpreis = "<?php echo $gesamt += 15.00; ?>";
^Was soll hier im Browser ankommen? Was kommt an? Lass Dir mal den Quelltext vom Browser ausgeben.
viele Grüße
Axel
<script type="text/javascript">
<!--
...
var gesamtpreis = "<?php echo $gesamt += 5.00; ?>";
var gesamtpreis = "<?php echo $gesamt += 10.00; ?>";
var gesamtpreis = "<?php echo $gesamt += 15.00; ?>";
^Was soll hier im Browser ankommen? Was kommt an? Lass Dir mal den Quelltext vom Browser ausgeben.
in der variable $gesamt steht 12.34
Und im Quelltext aussem Browser steht folgendes:
var gesamtpreis = "17.34";
var gesamtpreis = "27.34";
var gesamtpreis = "42.34";
Aber das habe ich ja schon bereits im vorherigen Posting geschrieben!
Aber wieso rechnet er falsch? Schliesslich stehen alle "var gesamtpreis" in eigenständigen Funktionsaufrufen. Wenn vorkasse_eu geklickt wird wird auch nur radio_vorkasse_eu(); aufgerufen.
Hallo
ja ich habe nun den Fehler gefunden...
Ich habe das Script total umgeschrieben und jetzte geht es auch!!!
das mit dem Browser war eine gute Idee, da hätte ich auch selbst drauf kommen können ;-)
Gruß Rudi
Hallo,
in der variable $gesamt steht 12.34
Und im Quelltext aussem Browser steht folgendes:
var gesamtpreis = "17.34";
var gesamtpreis = "27.34";
var gesamtpreis = "42.34";Aber das habe ich ja schon bereits im vorherigen Posting geschrieben!
Wo?
Aber wieso rechnet er falsch?
Tut er das?
Schliesslich stehen alle "var gesamtpreis" in eigenständigen Funktionsaufrufen. Wenn vorkasse_eu geklickt wird wird auch nur radio_vorkasse_eu(); aufgerufen.
Und wann wird PHP ausgeführt? Das _PHP_ schreibt die Werte in die JavaScript-Funktionen. Das/Ob/Wann diese ausgeführt werden geht dem PHP am A. vorbei.
$gesamt = 12.34;
...
var gesamtpreis = "<?php echo $gesamt += 5.00; ?>";
^$gesamt ist jetzt 12.34 + 5.00, also 17.34)
var gesamtpreis = "<?php echo $gesamt += 10.00; ?>";
^$gesamt ist jetzt 17.34 + 10.00, also 27.34)
var gesamtpreis = "<?php echo $gesamt += 15.00; ?>";
^$gesamt ist jetzt 27.34 + 15.00, also 42.34)
viele Grüße
Axel