gert: Aus einem Javascript Popup drucken

Hallo

bin leider noch Anfänger und bei der Forumssuche habe ich nichts über mein Problem gefunden.

Ich habe auf einer Seite ein Bild. Durch anklicken des Bildes entsteht durch eine "PopUp" Function ein kleines Fenster.

Auf diesem Fenster habe ich mit w.document.writeln Text und HTML Code geschrieben. Ich habe einen DruckButton erstellt:

<code>
w.document.writeln("<input type='button' value = 'Drucken' onclick = 'window.print()'>")
</code>

Jedoch erhalte ich beim anklicken keine Reaktion. Wie löse ich dieses Problem. Ist das überhaupt die eleganteste Lösung.

Ich danke für schnelle Hilfe.

mfg

  1. Hi

    am einfachsten und elegantesten geht das so:

    Javascript-Datei einbinden mit:

    function printWindow() {
     browser = parseInt(navigator.appVersion);
     if ( browser >= 4 )
     window.print();
    }

    window.onload = function() {
     document.getElementById('print-button').onclick = printWindow;
    }

    In den HTML-Code:

    <a href="#" id="print-button">drucken</a>

    1. Hallo,

      am einfachsten und elegantesten geht das so:

      ??? ;)
      Das scheint mir sehr umständlich.

      function printWindow() {
      browser = parseInt(navigator.appVersion);
      if ( browser >= 4 )
      window.print();
      }

      Das ist mal eine sinnloses Browserabfrage... ;)
      Die Funktion wird gar nicht ausgeführt, wenn der Browser nicht schon neuerer ist, weil stillschweigend getElementById vorausgesetzt wird:

      window.onload = function() {
      document.getElementById('print-button').onclick = printWindow;
      }

      Man könnte höchstens if (document.getElementById && window.print) abfragen, aber das navigator-Objekt ist eigentlich wie gewohnt nutzlos.

      <a href="#" id="print-button">drucken</a>

      Entweder man setzt JavaScript voraus, dann braucht kann man einfach JavaScript und HTML mischen, denn ohne JavaScript ist ein solcher sinnfreier Link nur verwirrend.

      <a href="javascript:window.print()">Drucken</a>
      bzw.
      <button onclick="window.print()">Drucken</button>

      Oder man schreibt wirklich »unobtrusive«, dann fügt man den ganzen Link per DOM nur dann ein, wenn JavaScript zur Verfügung steht.

      Aber nichts für ungut. ;)

      Mathias

      1. Also funktioniert Javascript im Javascript nicht?. Es funktioniert immer irgendwie nicht. Gibt es insgesamt ne andere Möglichkeit durch Klick auf das Bild das Fenster zu öffnen und da drauf einen Button zu schreiben?

        1. Mahlzeit,

          Also funktioniert Javascript im Javascript nicht?. Es funktioniert immer irgendwie nicht. Gibt es insgesamt ne andere Möglichkeit durch Klick auf das Bild das Fenster zu öffnen und da drauf einen Button zu schreiben?

          Wieso gibst Du beim Öffnen des Fensters nicht ein HTML-Dokument an, das in dieses Fenster geladen wird? Würde das Ganze etwas einfacher machen ...

          "Es funktioniert nicht" ist übrigens die geilste und nachvollziehbarste Fehlermeldung der Welt - und der Zusatz "irgendwie" macht's nicht besser. Was sagt die Javascript-Fehlerkonsole?

          MfG,
          EKKi

          --
          sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
          1. Sorry ... wie gesagt Anfänger und in Zeitverzug ^^

            Also die Javascript-Fehlerkonsole? Ist das das Kästchen das mich beim IE6 fragt ob ich debuggen will? da kommt nämlich überhaupt keins. Beim Firefox steht in der Fehlerkonsole kein Fehler.

            1. Mahlzeit,

              Also die Javascript-Fehlerkonsole? Ist das das Kästchen das mich beim IE6 fragt ob ich debuggen will? da kommt nämlich überhaupt keins.

              Ich behaupte mal, dass KEIN einziger IE eine vernünftige Fehlerkonsole hat (also ohne Plug-Ins o.ä.). :-)

              Beim Firefox steht in der Fehlerkonsole kein Fehler.

              Dann gibt es wohl keinen Fehler. Was genau "funktioniert denn nicht"? Beschreibe mal das Phänomen. Und es wäre auch nicht schlecht, wenn Du Beispielcode zur Verfügung stellen würdest (ausfühlich - nicht eine einzige einsame, vollkommen aus dem Zusammenhang gerissene Anweisung).

              MfG,
              EKKi

              --
              sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            2. Hi,

              Sorry ... wie gesagt Anfänger und in Zeitverzug ^^

              Anfangern wird gerne weiter geholfen, wenn sie die noetige Zeit zum Erlernen gewisser Grundlagen mitbringen.

              MfG ChrisB

  2. bin leider noch Anfänger und bei der Forumssuche habe ich nichts über mein Problem gefunden.

    Sorry, aber wenn deine Suchstrategie so ist, wie deine Versuche dein Problem zu erklären, dann ist das kein Wunder.

    Auf diesem Fenster habe ich mit w.document.writeln Text und HTML Code geschrieben. Ich habe einen DruckButton erstellt:

    <code>
    w.document.writeln("<input type='button' value = 'Drucken' onclick = 'window.print()'>")
    </code>

    Jedoch erhalte ich beim anklicken keine Reaktion.

    Hier läßt sich nur sagen, dann machst du was falsch!
    Bei mir funktioniert das.

    Struppi.