Erich: HTML-Ausgabe an neues Fenster schicken ??

Hallo zusammen :-))

Situation: Rufe in einer HTML-Datei ein PERL-Script auf (<Form action=".."><Input type="text" ...usw), das mir eine ACCESS-Datenbank durchsucht und je nach Eingabe eine HTML-Datei erstellt.
Momentan bekommt die HTML-Datei den Namen der Abfrage und mittels JavaScript (Im <Form> bei OnClick="...") öffne ich ein Fenster mit dem Namen der Abfrage und lade darin das Ergebniss.

So weit geht das, war die einzige Art die mir gelungen ist.

Aber: Ich möcht mir das erstellen einer Datei am Server ersparen.

Daher meine Frage: Gibt es eine Möglichkeit das Ergbniss der Perl-Abfrage nicht in eine HTML-Datei zuschreiben sondern direkt in ein neues "Brauser"-Fenster.

1.) Entweder die Paramater des Formulars an ein neues Fenster zu übergeben (Javascript, Globale Variablen) und von dort aus das Perl-Script aufzurufen (mir nicht gelungen).

2.) Mit PERL ein NEUES Fenster zu öffnen und dann die Daten ausgeben (mir nicht gelungen).

3.) Im Formular ein HIDDEN-Feld zu definieren in welchem mit <input type="hidden" name="Fenster_Name" value="Neues_Fenster"> der Name des neuen Fensters mitgegeben wird und dann die Ausgabe (Natürlich vorher neues Fenster mit JavaScript) in dieses umzuleiten (habe gesucht, aber nichts gefunden).

Bin für jede hilfe im vorhinein Dankbar.

Erich :-))

PS: Hoffe keine Markenrechtlich geschützen Begriffe verwendet zu haben und wenn ja, mir dies nachzusehen weil es mir egal ist ;-7

  1. Hi,

    Daher meine Frage: Gibt es eine Möglichkeit das Ergbniss der
    Perl-Abfrage nicht in eine HTML-Datei zuschreiben sondern direkt
    in ein neues "Brauser"-Fenster.

    ja, gibt es ,)

    1.) Entweder die Paramater des Formulars an ein neues Fenster zu
    übergeben (Javascript, Globale Variablen) und von dort aus das
    Perl-Script aufzurufen (mir nicht gelungen).

    <form ... target="_blank">

    2.) Mit PERL ein NEUES Fenster zu öffnen und dann die Daten
    ausgeben (mir nicht gelungen).

    geht aber auch:

    print <<HTML;

    <html>
    <head>
    <script language="JavaScript">
    var txt = "<html>\n<head>\n<title>bla</title>\n</head>\n";
    txt += "<body>\n------- Inhalt -------\n</body>";
    txt += "</html>";
    </script>
    </head>
    <body onload="document.open(); document.write(txt); document.close();">
    </body>
    </html>

    HTML

    3.) Im Formular ein HIDDEN-Feld zu definieren in welchem mit
    <input type="hidden" name="Fenster_Name" value="Neues_Fenster">
    der Name des neuen Fensters mitgegeben wird und dann die Ausgabe
    (Natürlich vorher neues Fenster mit JavaScript) in dieses
    umzuleiten (habe gesucht, aber nichts gefunden).

    So ähnlich:

    function schick_ab(formular)
    {
    var param = "";
    for(i=0;i<=formular.elements.length-1;i++)
      {
      param += formular.elements[i].name + "=" + formular.elements[i].value + (i < (formular.elements.length-1) ? "&" : "");
      }

    f = window.open("/cgi-bin/script?"+param,"bla","angaben");
    }

    Im Formular müsste das dann so aussehen:

    <form name="egal" onsubmit="schick_ab(this);">
    <....>
    </form>

    Ich hoffe, diese 3 Methoden reichen dir ,)

    mfg
    CK1

  2. Öffne doch das Perl-Script selbst in einem neuen Fenster. Die Parameter des Formulars werden an das Script im neuen Fenster übergeben, das verarbeitet die und zeigt sie auch im neuen Fenster an. So mache ich das, bei mir funktioniert es.

    Gruß
    Phil