Elya: + JAVASCRIPT Aufruf aus php-Script

Hallo Forum,
ich versuchs mal zu beschreiben....

Ein Formular, aufgebaut aus mehreren Templates, ruft via submit ein php-Script auf. Dieses durchläuft einige Prüfroutinen, u.a. wird das Vorhandensein eines Dateinamens geprüft. Wenn der Dateiname vorhanden ist, soll eine Warnung erzeugt werden ("Datei überschreiben?"), mit der Option, ggf. einen anderen Namen einzutragen.

Da mit "comfirm/prompt" das dahinterliegende Fenster unsichtbar/weiß wird, was nicht so toll aussieht, haben wir versucht, ein window.open aus php via "echo" zu erzeugen - ohne Erfolg. Der Script Code steht dann in der ausgegebenen html-Datei oben über <html>.

Wir haben auch versucht, ins Template einen Platzhalter in den body zu setzen, der dann im php-Script ersetzt wird - der Javascript-Code steht dann zwar im html-Code drin, es geht aber trotzdem kein Fenster auf...

Irgendwie geht das Brett vor dem Kopf heute nachmittag nicht mehr weg... hat jemand von Euch eine Idee?

Schöne Grüße aus Köln-Ehrenfeld,

Elya

--
Keep passing the open windows.
  1. Hi,

    ich versuchs mal zu beschreiben....

    vielleicht hättest Du erst mal versuchen sollen, das Problem im Archiv zu finden. Da es nicht zum ersten mal aufgetreten ist, ist die Wahrscheinlichkeit groß, dort alle relevanten Informationen zu erhalten.

    Wir haben auch versucht, ins Template einen Platzhalter in den body zu setzen, der dann im php-Script ersetzt wird - der Javascript-Code steht dann zwar im html-Code drin, es geht aber trotzdem kein Fenster auf...

    Wie lautet dann dieser PHP-freie JavaScript- und HTML-Code (nur der relevante Teil davon)?

    Cheatah

    --
    X-Will-Answer-Email: No
    1. Hi Cheatah,

      vielleicht hättest Du erst mal versuchen sollen, das Problem im Archiv zu finden. Da es nicht zum ersten mal aufgetreten ist, ist die Wahrscheinlichkeit groß, dort alle relevanten Informationen zu erhalten.

      haben wir, ganz bestimmt ;-) Das Problem ist, ich habe keinen event handler, sondern muß das Script irgendwo zwischen drin aus php aufrufen, wenn eine bestimmte Bedingung erfüllt wird.

      Wie lautet dann dieser PHP-freie JavaScript- und HTML-Code (nur der relevante Teil davon)?

      <body>
      <script type="text/javascript">
      <!--
      window.open(die üblichen Parameter);
      -->
      </script>
      [restliches html]
      </body>

      wir haben auch verschiedene Varianten mit foo = window.open() und nur open usw durchgespielt.

      Schöne Grüße,

      Elya

      --
      Keep passing the open windows.
      1. Hi,

        haben wir, ganz bestimmt ;-) Das Problem ist, ich habe keinen event handler, sondern muß das Script irgendwo zwischen drin aus php aufrufen, wenn eine bestimmte Bedingung erfüllt wird.

        genau darauf wollte ich mit meinem Hinweis hinaus: Recherchiere bitte im Archiv danach, wo PHP und wo JavaScript abläuft, und wie eine Zusammenarbeit dieser beiden Universen auszusehen hat.

        Wie lautet dann dieser PHP-freie JavaScript- und HTML-Code (nur der relevante Teil davon)?
        window.open(die üblichen Parameter);

        Du musst noch die drei Variablen "die", "üblichen" und "Parameter" deklarieren - "üblichen" ist dabei kein gültiger Name - und diese Argumente durch Komma trennen. Äh, oder anders ausgedrückt: Möglicherweise ist da ein Fehler drin :-)

        -->

        Dies zum Beispiel _ist_ ein JavaScript-Fehler.

        Cheatah

        --
        X-Will-Answer-Email: No
        1. Hallo Cheatah,

          Erst mal danke für die Antwort, auch wenn du schon leicht genervt schienst... ;-)

          OK, Montag morgen, also noch alles mal auf Anfang:

          Hier ist der relevante php-Code. Dieser wird via "str_replace()" in ein Template geschrieben und die Seite neu geladen, d.h. der Javascript-Code steht nur dann im html-Doc, wenn die Bedingung unter "else" erfüllt wurde.

          else{
                      // ja:
                      // Profil überschreiben?
                      //$jscript = 'winUrl = "../help.html";';
                      $jscript = 'win = open("../help.html","newWindow","width=350,height=200,screenX=0,screenY=0,scrollbars=yes,resizable=yes");';
                      //$jscript .= 'win.focus();';
                   }

          Da kommt dann das hier (inerhalb des body) raus:

          <script type="text/javascript">
          <!--
          win = open("../help.html","newWindow","width=350,height=200,screenX=0,screenY=0,scrollbars=yes,resizable=yes");
          //-->
          </script>

          Das ganze funktioniert, wenn es ohne Templates aufgebaut ist, d.h. alles direkt zusammen ausgegeben wird. Vielleicht ist ja wirklich nur ein dummer kleiner Fehler drin - die Problematik Server/php - Client/Javascript ist uns schon bewußt.

          Schöne Grüße aus dem sonnigen Ehrenfeld,

          Elya

          --
          Keep passing the open windows.