JS Berechnungsfeld läuft nicht unter Firefox
Sascha2111
- javascript
0 Beat0 Sascha21110 Gunnar Bittersmann
0 gast42
Hallo!!
Ich habe eine PHP-Seite auf der aus einer Anzahl und einem Betrag eine Gesamtsumme berechnet werden soll. Im IE klappt das einwandfrei, nur im Firefox nicht, vielleicht kann mir jemand weiterhelfen! Die kryptischen Namen der INPUTs resultieren aus der Typo3-Umgebung, in der das PHP laufen muss. Schon mal vielen Dank.
Code:
<form name="form1" method="POST".......
....
<script type="text/javascript">
function calc()
{
var convert_betrag = document.getElementById("tx_ClubSupport_pi6[order_voucher][DATA][gut_betrag]").value.replace(/,/, ".");
var gmenge = parseFloat(document.getElementById("tx_ClubSupport_pi6[order_voucher][DATA][gut_menge]").value);
var gbetrag = parseFloat(convert_betrag);
document.getElementById("betrag").value = gmenge*gbetrag;
}
</script>
<table class=de_100>
<tr>
<td width = 125 class = "de_label" style="vertical-align:middle;"> Gutscheinbetrag*: </td>
<td width = 50>
<input class="de_text" type="text" size =10
name="tx_ClubSupport_pi6[order_voucher][DATA][gut_betrag]"
value="" onchange=calc()></td><td>Euro (Eingabeformat: EURO,Cent)</td>
</tr>
<td width = 125 class = "de_label" style="vertical-align:middle;"> Anzahl*: </td>
<td width = 50>
<input class="de_text" type="text" size =10
name="tx_ClubSupport_pi6[order_voucher][DATA][gut_menge]"
value="" onchange=calc()></td> <td>Stück</td>
</tr>
</table>
<table class=de_100>
<tr><td width = 125 class = "de_label" style="vertical-align:middle;">Gesamtbetrag:</td>
<td width = 50>
<input class="de_text" type="text" value="" name="betrag" readonly style="border-style:none;"></td>
<td>Euro</td>
</tr>
</table><br>
Ich habe eine PHP-Seite auf der aus einer Anzahl und einem Betrag eine Gesamtsumme berechnet werden soll. Im IE klappt das einwandfrei, nur im Firefox nicht, vielleicht kann mir jemand weiterhelfen! Die kryptischen Namen der INPUTs resultieren aus der Typo3-Umgebung, in der das PHP laufen muss. Schon mal vielen Dank.
So wie ich das sehe, ist dein HTML im Bereich der Tabelle mangelhaft.
mfg Beat
@Beat:
Es wäre nett, wenn du kurz schreiben würdest WO es mangelhaft ist. Vielleicht hilft mir das ja schon weiter..
@@Sascha2111:
Es wäre nett, wenn du kurz schreiben würdest WO es mangelhaft ist. Vielleicht hilft mir das ja schon weiter..
DORT werden Sie geholfen.
Live long and prosper,
Gunnar
@@Sascha2111:
var convert_betrag = document.getElementById("tx_ClubSupport_pi6[order_voucher][DATA][gut_betrag]").value.replace(/,/, ".");
Du hast nirgens ein Element mit der *ID* "tx_ClubSupport_pi6[order_voucher][DATA][gut_betrag]". Wo keins ist, kann der Firefox auch keins finden.
Hat dir das die Fehlerkonsole nicht verraten oder kommt bei dir Im-Forum_Fragen vor dem Debuggen?
Live long and prosper,
Gunnar
das Problem an einem Beispiel (gilt für alle deine input-Felder)
document.getElementById("betrag").value = gmenge*gbetrag;
hier greifst du auf ein Element mit der ID "betrag" zu
<input class="de_text" type="text" value="" name="betrag" readonly style="border-style:none;"></td>
es gibt aber nur ein Element mit name="betrag".
Der IE verwechselt das, der Firefox und andere Browser wissen das ordentlich voneinander zu trennen.
Also spendiere den Elementen eine ID oder greife auf sie mit document.getElementsByName zu.
@gast42
vielen dank, jetzt klappt es!! dummer fehler, aber wenn man so selten mit JS arbeitet =)
@gunnar
mein php-debugger hat keine fehler ausgespuckt und da ich schnell eine antwort brauchte hab ich´s hier gepostet. davon abgesehen zwingt dich ja keiner zu antworten und selbst wenn wäre eine lösung sehr hilfreich anstatt zu schreiben was falsch ist..... live fast, die young!
@@Sascha2111:
und selbst wenn wäre eine lösung sehr hilfreich anstatt zu schreiben was falsch ist.....
Daraus ergibt sich unmittelbar die Lösung.
Ansonsten frag bitte im GETHTML-Forum nach, nicht hier.
Live long and prosper,
Gunnar
Hi,
mein php-debugger hat keine fehler ausgespuckt
Wie denn auch, bei einem clientseitigen Problem.
und da ich schnell eine antwort brauchte hab ich´s hier gepostet.
Warum brauchst du die Antwort denn so "schnell"?
Das kenn' ich doch eigentlich nur von Leuten, denen der Kunde im Nacken sitzt, weil sie mehr versprochen haben, als sie leisten koennen.
davon abgesehen zwingt dich ja keiner zu antworten und selbst wenn wäre eine lösung sehr hilfreich anstatt zu schreiben was falsch ist.....
Schon mal mit Mitdenken versucht?
Wenn man dir sagt, was falsch ist, dann weisst du doch, was du zu verbessern hast!
Das nicht anzunehmen, also nicht hilfreich zu bezeichnen und stattdessen nach einer "Loesung" zu verlangen, ist reichlich unverschaemt.
live fast, die young!
Ja, geh und mach mal.
MfG ChrisB