Tobias Otto: Script geht im IE nicht

Hallo habe folgendes Script geschrieben, dass leider nicht im IE funktioniert.
Im FF gehts ohne Probs.

function checkpayment (a) {

if (a == "nachnahme") {
document.getElementById("payment").innerHTML = "<td colspan='4'></td><td colspan='2'>Nachnahmegebühr</td><td>4.95 &euro;</td><td> </td>";
var preis = document.getElementById("preisall").innerHTML;
var preis2 = "4.95";
preis = preis.replace(/ &euro;/, "");
preis = parseFloat(preis,10);
preis2 = parseFloat(preis2,10);

preis = preis + preis2;
preis = Math.round(preis * 10000) / 10000;
preis = preis.toFixed(2)
document.getElementById("preisall").innerHTML = preis + " &euro;";
var link = document.getElementById("bestellen").href
link = link.replace(/payment=1/, "payment=2");
document.getElementById("bestellen").href = link;
}

if (a == "vorkasse") {
document.getElementById("payment").innerHTML = "";

var preis = document.getElementById("preisall").innerHTML;
var preis2 = "4.95";
preis = preis.replace(/ &euro;/, "");
preis = parseFloat(preis,10);
preis2 = parseFloat(preis2,10);

preis = preis - preis2;
preis = Math.round(preis * 10000) / 10000;
preis = preis.toFixed(2)
document.getElementById("preisall").innerHTML = preis + " &euro;";
var link = document.getElementById("bestellen").href
link = link.replace(/payment=2/, "payment=1");
document.getElementById("bestellen").href = link;

}

}

  1. Hi Tobias,

    deine Informationen sind leider etwas dünn. Html Code? Was genau funktioniert nicht (Fehlerausgaben)? Mal versucht, mit alert('') an dieser oder jener Stelle zu debuggen?

    Soviel fällt mir gerade auf:

    var preis = document.getElementById("preisall").innerHTML;

    Um was für ein Element handelt es sich bei "preisall"? innerHTML ist keine Eigenschaft des DOM und nicht ohne Tücken.

    preis = parseFloat(preis,10);
    preis2 = parseFloat(preis2,10);

    Das interpretiert dir die Variablen bis zum notierten Komma, wenn ich nicht irre. Radix Parameter nur bei parseInt.

    Gruß
    Antipitch

  2. Hi,

    document.getElementById("payment").innerHTML = "<td colspan='4'></td><td colspan='2'>Nachnahmegebühr</td><td>4.95 &euro;</td><td> </td>";

    http://msdn2.microsoft.com/en-us/library/ms533897.aspx:

    "The property is read/write for all objects except the following, for which it is read-only: COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR. "

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.