Delikates Problem ich verzweifle popup schliesst nicht

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

  • Delikates Problem ich verzweifle popup schliesst nicht

    ich habe hier ein uploadformular welches soweit auch super funktioniert ich wollte das so handhaben das sobald jemand was hochläd ein popup aufgeht und eine animation erscheint

    teil 1 geht schon mal das popup geht auf so wie es soll jedoch will es sich einfach nicht schließen wenn der upload beendet ist

    ich hoffe mir kann jemand helfen ich verzweifle

    hier mal der code

    PHP-Code:
    <html>
    <script type="text/javascript">
    var win;
    function popup(){
     win = window.open('popup.php','popup','width=300,height=300,top=10,left=10');
    }
    </script>
    </head>
    .
    .
    .
    <input type="submit" name="submit" value="DATEI HOCHLADEN" onClick="window.open('popup.php','popup','width=300,height=200')" />
                  .
                  .
                  .

    <?php
    .
    .
    .
    (
    $query) or die("Fehler");
    @
    copy($file"dbyqmpByQyZi/$file_name") or die("Diese Datei....");
    // hier sollte dann das script schliessen
    echo "<script>win.close();</script>";
    .
    .
    .
    .
    Zuletzt geändert von blue_fire; 09.10.2002, 22:51.

  • #2
    is zwar ein bissi kompliziert zu denken gewesen, aber ich weiss
    genau was du willst und hoffentlich auch die passende lösung.
    (nur theorie)

    mach mal folgendes.

    - bei der form-action machst du target=_blank und nimmst eine
    andere datei als ziel.

    - dort passiert dann das, was jetzt auch schon passiert, wenn
    du den upload durchführst. am ende machst du nur JS:close() .

    ist zwar nicht schön, aber ich habe schon mal ein ähnliches problem
    gehabt. wenn du die url wechselst, kannst du nicht mehr auf
    die vorher geöffneten benannten fenster zugreifen. somit auch
    nicht schliessen.

    alternativ kannst du auch auf das popup verzichten und nur zu
    beginn der upload-datei ein bild mittels html einbinden, und erst
    einmal einen PHP:flush() machen. somit steht schon code da.
    wenn die datei dann oben ist, kannst du den rest html nachlegen.

    du kannst aber auch mal nach letztem prinzip versuchen das
    popup zu öffen. damit würde es in der gleichen datei geöffnet
    und geschlossen, wenn auch verzögert, aber ist ist ja genau das,
    was du willst ....

    viel spass bei probieren ...

    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      du rufst im form-teil ein window.open() auf und versuchst dann mit win.close() das fenster wieder zu schliessen. das kann nicht funktionieren, weil der handler "win" nirgends initialisiert wird.
      die funktion popup() wird, so weit ich das sehe, nirgends aufgerufen. schreib also im form-teil statt window.open(...) popup() hin, und schon sollte es gehen.

      Kommentar


      • #4
        erstmal herzliches danke für die hilfe
        ihr habt mich schon mal in die richtige richtung gestubst das popup öffnet und schliesst sich jetzt so wie es soll das kuriosum ist aber jetz

        das das popup erst aufgeht nachdem der upload beendet ist und sich dann auch sofort wieder schleißt mann sieht es nur ganz kurz aufpopen um darauf hin sofort zu verschwinden wie bekomme ich das popup jetz dazu das es nach submit sofort erscheint und sich am ende des vorganges schließt ??

        alternativ hatte ich versucht das popup auf den submit button
        Code:
        <input type="submit" name="submit" value="DATEI HOCHLADEN2" onClick="popup()">
        zu legen das hatte den vorteil das das popup sofort aufging nach klick auf submit leider hatte das den nachteil das als der upload beendet war das popup nicht geschlossen wurde sondern nur im hintergrund verschwund


        das die obere variante ja zu funktionieren scheint nur mit dem schönheitsfehler das das popup zu spät startet würde es mich freuen wenn noch jemand tips hat hier mal der code mit den spätstarter popup
        PHP-Code:
        //das javascript wie gehabt in den headtag
        <script>
        var 
        win;
        function 
        popup(){
         
        win window.open('popup.php','window','width=400,height=300,top=10,left=10');
        }
        </
        script>
        .
        .
        .
        // das habe ich auf den submit button gelegt

        <input type="submit" name="submit" value="DATEI HOCHLADEN">
        .
        .
        .
        $size "200000"//wieviel Byte Speichergröße?

        if (isset($submit)) { // wird nur ...[COLOR=orange]// hier habe ich angegeben das das script aufgehen soll nachdem submit gedrückt wurde[/COLOR] 
        echo "<script>popup()</script>";
        .
        .
        .
        echo 
        "<script>win.close();</script>"// Hier 
        Zuletzt geändert von blue_fire; 09.10.2002, 22:49.

        Kommentar


        • #5
          hi.
          echo "<script>popup()</script>";
          versuch doch mal nach dem öffnen des popups und VOR dem copy einen
          PHP-Code:
          flush(); 
          einzufügen.

          also
          PHP-Code:
          .
          .
          $size "200000"//wieviel Byte Speichergröße?

          if (isset($submit)) { // wird nur ausgeführt, wenn Formular abgeschickt wurde
          // hier habe ich angegeben das das script aufgehen soll nachdem submit gedrückt wurde 
          echo "<script>popup()</script>";
          flush(); /* <============= */

          if($email == "") { // Überprüfung ob E-Mail Adresse überhaupt angegeben wurde
          .
          .
          .

          @
          copy($file"dbyqmpByQyZi/$file_name") or die("Diese datei.....");

          // und hier steht letzenendes das sich das fenster wieder schließen soll

          echo "<script>win.close();</script>"// Hier ist der Upload beendet, Aufruf fertig();
          .
          .

          flush
          (PHP 3, PHP 4 )

          flush -- Der Ausgabe-Puffer wird geleert und alle Zeichen ausgegeben
          Beschreibung:
          void flush ( void)
          schau hier nach. da kannst du alles noch mal lesen ...

          http://de.php.net/manual/de/function.flush.php

          Abra
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            thx für den tip das wars leider auch nicht

            habe das jetz anderweitig gelöst und bin soweit zufrieden damit

            thx für eure hilfe
            Zuletzt geändert von blue_fire; 09.10.2002, 22:37.

            Kommentar

            Lädt...
            X