Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

Popup-Fenster zeitverzögert öffnen





Frage

Hallo! Ich möchte ein Fenster 4 sec. zeitverzögert öffnen lassen, aber leider funktioniert es nicht. Mein Beispiel-Code: <head> <SCRIPT LANGUAGE="JAVASCRIPT" TYPE="TEXT/JAVASCRIPT"> <!-- function Fenster() { F = window.open("popup.html","Fenster","height=140,width=290"); F.focus(); } // --> </script> </head> <body> <input class="radiobutt1" type="submit" value="Abschicken" onClick="Fenster(window.setTimeout(´Fenster()´, 4000))"> </body> Ich hoffe Ihr könnt mir helfen. Danke!

Antwort 1 von Supermax

es müßte richtig wohl heissen

onClick="window.setTimeout(´Fenster´, 4000);"


Da das ganze in einem "submit"- Button aufgerufen wird, kann es sein - je nachdem wie das zugehörige <form> aussieht, daß das Dokument bereits neu geladen wird wenn der Timeout abgelaufen ist und daher die Funktion bzw. der Timer selbst gar nicht mehr zur Verfügung stehen.

Antwort 2 von Jürgen52

@Supermax

Dein Vorschlag funktioniert leider auch nicht. Trotzdem danke!

Nur mit onClick="Fenster()" funktioniert es, aber eben ohne Zeitverzögerung. Wie du schon schreibst, steht der Timer nicht mehr zur Verfügung, da mit Betätigen des Submint-Button die Formularseite wieder neu geladen wird.

Z.Zt. behelfe ich mich mit dieser Ausführung.

onClick="alert(´Die E-Mail wurde abgeschickt!´)"

Ich brauch sozusagen eine visuelle Bestätigung darüber, dass die E-Mail abgeschickt wurde.

Gibt es dafür vielleicht auch eine andere Lösung?

Antwort 3 von Supermax

Eventuell geht es, wenn du den Timer im onSubmit-Ereignis des Formulars startest und false zurückgibst, dadurch wird das Abschicken des Formulars erst mal unterdrückt. Am Ende der Funktion Fenster() könntest du dann mittels

document.formularname.submit();


das Absenden des Formulars per Script anstoßen.

Antwort 4 von rfb

um ehrlich zu sein: das ist Unsinn!
Das JavaScript hat doch gar keien Kontrolle darüber, ob das Formular überhaupt verschickt wurde. Insofern ist die Meldung glatte Ver...
Für solche Zwecke gibts Antwortseiten des serverseitigen Verarbeitungsscripts.

Antwort 5 von Jürgen52

@rfb

Schön und gut deine Meinung, aber leider komme ich an so ein serverseitiges Script, bei ARCOR nicht ran. Es kommt zwar eine Fehlermeldung, wenn die Übertragung nicht geklappt hat. Aber ich möchte gern, dass auch angezeigt wird, wenn es geklappt hat.

Antwort 6 von Supermax

Bekommst du bei deinem Webspace nur vorgefertigte Scripte zur Verfügung gestellt?

Antwort 7 von rfb

Zitat:
Aber ich möchte gern, dass auch angezeigt wird, wenn es geklappt hat.
Aber eben gerade das machst du mit dem JavaScript ja nicht! Du täuschst das nur vor. Schlimmstenfalls bekommen deine User erst die Mitteilung "Alles OK" und dann gleich die Arcor-Fehlermeldung.
Der Weg, den Supermax andeutet, ist dann sinnvoller: nimm ein eigenes Formmailerscript.

Antwort 8 von Jürgen52

@Supermax

Ja, ich kann nur ein vorgegebenes Formmailer-HTML-Script bei ARCOR verwenden.

@rfb

Gibt es eine Vorlage für ein eigenes Formmailer-Script?

Antwort 9 von Jürgen52

Nachtrag:
Hier das verwendete Script: http://www.arcor.de/tp/home/upload/treff_home_up6_s1.php

Antwort 10 von Supermax

Die meisten Formmailer-Scripts bieten die Möglichkeit, über Parameter im Formular festzulegen, zu welchen eigenen Seiten bei Erfolg bzw. bei einem Fehler weitergeleitet werden soll.

Schau mal in der Doku für das Script nach.

Antwort 11 von MixMax

Dein Problem ist das du das Script auf der Absendeseite öffnen möchtest, aber die ist ja 4 sekunden später gar nicht mehr aktiv.
Du kannst eigentlich nur das neue fenster sofort öffnen und nach 4 sekunden n fokus drauf setzen.

Da die meisten popups ein wenig nerven überlege auch nochmal ob es wirklich notwendig ist, zumal viele popupblocker das ding sperren werden.
Du kannst z.B. über target="Formularziel" das Formular in ein anderes Frame (ggfs unsichtbares) absenden lassen und in dem aktuellen fenster dann eine andere Seite mit 0,1sek verzögerung mit location.href aufrufen die das anzeigt was im Popup stehen sollte.
Bei leuten ohne Javascript wird das dazu führen das die einfach auf dem Formular bleiben und immer wieder auf absenden klicken können.

Antwort 12 von rfb

Zitat:
Gibt es eine Vorlage für ein eigenes Formmailer-Script?
klar, haufenweise, schau mal ins PHP-Archiv

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: