Variable in neues Fenster schreiben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variable in neues Fenster schreiben

    Hallo !


    Ich habe in einer Variable Text eine Zeichenkette .

    Diese gebe ich mit document.write(Text) aus.

    Ich möchte diese Zeichenkette aber in ein neuer Fenster schreiben.

    Wie geht das ?



    Gruss Jogi

  • #2
    - neues fenster öffnen
    - reinschreiben
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Das hab ich mir schon gedacht.

      Also ich hab am ende meiner Tabelle folgendes :
      PHP-Code:
      <a href='javascript:druckversion(".$zaehler.")'>Druckversion</a
      die js-Funktion sieht so aus :
      PHP-Code:
      function druckversion(gesamt)
      {
          var 
      text1;
          var 
      inhalt="";
          
      inhalt=inhalt+"<html>\n";
          
      inhalt=inhalt+"<head></head>\n";
          
      inhalt=inhalt+"<body style='font-family:TAHOMA;'>\n";
          
      inhalt=inhalt+"<br><br><br>\n";
          
          
      inhalt=inhalt+"<Table width='70%' border='1' style='font-size:9pt;'>\n";
          
          
      inhalt=inhalt+"<tr style='font-size:11pt;font-weight:bold;'>\n";
          
      inhalt=inhalt+"<td>Artikel</td>\n";
          
      inhalt=inhalt+"<td>Bezeichnung</td>\n";
          
      inhalt=inhalt+"<td>Profil</td>\n";
          
      inhalt=inhalt+"<td>Hersteller</td>\n";
          
      inhalt=inhalt+"<td>Preis</td>\n";
          
      inhalt=inhalt+"</tr>\n";
          
          for(
      i=0;i<gesamt;i++)
          {
              
      inhalt=inhalt+"<tr>\n";
                  
      inhalt=inhalt+"<td>\n";
                       
      text1 document.getElementById("bezeichnung"+i).value;
                       
      inhalt=inhalt+text1+"\n";
                  
      inhalt=inhalt+"</td>\n";
              
      inhalt=inhalt+"</tr>\n";
          }
          
      inhalt=inhalt+"</table>\n";
          
          
      inhalt=inhalt+"</body>\n";
          
      inhalt=inhalt+"</html>\n";
          
      document.write(inhalt); 
      Wenn man jetzt auf Druckversion klickt, dann wird diese Drucktabelle im gleichern Fenster angezeigt.
      Ich möchte diese aber in einem neuen Fenster anzeigen.

      Kommentar


      • #4
        neue fenster macht man entweder mit target="_blank" oder mit window.open

        in beiden fällen musst du den anzuzeigenden text als url-parameter übergeben und geeignet auswerten (php oder js bei target="_blank" und nur js bei window.open)
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Der Text könnte aber recht lang werden.

          Gibt es da noch eine andere Möglichkeit ?

          Kommentar


          • #6
            wenn du den inhalt der variablen schon serverseitig kennst, dann kannst du ihn in eine session packen und musst ihn nicht mehr per url übergeben

            dann brauchst du auch nicht mehr zwingend js
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Original geschrieben von jogisarge
              Wenn man jetzt auf Druckversion klickt, dann wird diese Drucktabelle im gleichern Fenster angezeigt.
              logisch, denn am ende deiner funktion steht ja auch
              document.write(inhalt);

              also solltest du wohl mal dafür sorgen, dass sich dieses document.write nicht auf das aktuelle, sondern auf ein anderes fenster bezieht.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                ja, aber wenn ich wíssen würde, wie das geht, dann würde ich nicht fragen.
                Mir ist das halt nicht klar.

                mrhappiness hat ja auch schon geholfen, aber es klappt halt nicht.

                Kommentar


                • #9
                  Original geschrieben von jogisarge
                  ja, aber wenn ich wíssen würde, wie das geht, dann würde ich nicht fragen.
                  na was liegt denn oberhalb von document in javascripts objekthierarchie?
                  -> window.

                  window.document.write

                  willst du das aktuelle fenster beschreiben? nein
                  -> also nicht window oder self benutzen, sondern eben die objektreferenz auf das zielfenster.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    wenn ich in meiner Funktion vor document.write ein window.open("about.blank","_blank")
                    mache, wie kann ich dann in dieses neue Fenster schreiben ?

                    Kommentar


                    • #11
                      wie du als versierter selfhtml-leser ja weißt, hat die methode open() des window-objektes auch einen rückgabewert.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #12
                        ok, ich habe es endlich geschafft.

                        Dank deiner Hilfe !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                        Aber jetzt habe ich das neue Fenster und der Inhalt ist auch wie gewünsch nur jetzt möchte ich die Seite ausdrucken.

                        PHP-Code:
                        <html>
                        <
                        head></head>
                        <
                        body style='font-family:TAHOMA;'>
                        <
                        br><br><br>
                        <
                        Table width='70%' border='1' style='font-size:9pt;'>
                            <
                        tr style='font-size:11pt;font-weight:bold;'>
                                <
                        td>Artikel</td>
                                <
                        td>Bezeichnung</td>
                                <
                        td>Profil</td>
                                <
                        td>Hersteller</td>
                                <
                        td>Preis</td>
                            </
                        tr>
                            <
                        tr>
                                <
                        td>
                                    
                        235/35ZR19TLXL
                                
                        </td>
                                <
                        td>
                                    
                        91YFSL
                                
                        </td>
                                <
                        td>
                                    
                        PILOT SPORT PS2
                                
                        </td>
                                <
                        td>
                                    
                        MICHELIN
                                
                        </td>
                                <
                        td>
                                    
                        247.70
                                
                        </td>
                            </
                        tr>
                            <
                        tr>
                                <
                        td>
                                    
                        235/35ZR19TL
                                
                        </td>
                                <
                        td>
                                    
                        87YFSLRennreifen
                                
                        </td>
                                <
                        td>
                                    
                        PILOT SPORT CUP
                                
                        </td>
                                <
                        td>
                                    
                        MICHELIN
                                
                        </td>
                                <
                        td>
                                    
                        389.20
                                
                        </td>
                            </
                        tr>
                        </
                        table>
                        <
                        a href='javascript:self.print()'>Drucken</a></body>
                        </
                        html
                        Beim Klick auf Drucken tut sich aber nichts.


                        Aber trotzdem Danke für deine Hilfe

                        Kommentar

                        Lädt...
                        X