dm: funktion zu lagnsam - gibt es sowas?

guten morgen,
stehe vor dem raetsel einer funktionierend funktion, die aber - so eigen das klingt - zu langsam ist. ich erstelle einen shop in javascript, alles wunderbar, vor dem bezahlen soll der kunde mit dem button 'Bestellung ausdrucken' einen Beleg drucken koennen. Funktioniert auch wonderbra...aehhh...  wunderbar, aber da so mancher vergisst seine Bestellung zu aktualisieren, also die Mengen zu aendern oder Produkte aus der Bestellung zu loeschen habe ich diese funktion vor dem drucken noch in den selben button gelegt. sieht so aus:

<input type=butto value="Bestellung ausdrucken" ' +
    'onclick="parent.frames[1].changebasket(this.form, true); window.print();">

bei click wird am bildschirm alles brav geaendert, aber am ausdruck ist die version vor der aenderung zu sehen... ...wie das?

cheers, dm

  1. Hallo DM

    <input type=butto value="Bestellung ausdrucken" ' +
        'onclick="parent.frames[1].changebasket(this.form, true); window.print();">

    bei click wird am bildschirm alles brav geaendert, aber am ausdruck ist die version vor der aenderung zu sehen... ...wie das?

    zwar seltsam das '+' im Code, aber ich denke es ist eh ein Codeauszug. Zu deinem Problem:

    parent.frames[1].changebasket(this.form, true); wird von JavaScript ausgeführt und danach sofort der Ausdruck angestoßen.

    Eine fertige JavaScriptfunktion bedeutet aber nicht notwendigerweise, dass der Browser bereits mit der Bildschirmaktualisierung fertig ist. Hier laufen ja noch ganz andere Mechanismen ab. Dadurch kommt dein Print-befehl einige Millisekunden zu früh.
    Abhilfe bringt die Verzögerung des Druckbefehles mittels setTimeout.

    Viele Grüße

    Antje