Anforderungen: Wir haben ein Formular, das die Benutzer einreichen können. Bei der Übermittlung werden die Formulardaten für Berechnungen und die Erstellung von Berichten verwendet.
Beim Postback werden eine Bestätigungsmeldung und weitere Optionen angezeigt. Wir möchten den Bericht in einem neuen Fenster/Tab anzeigen.
Bedingungen: Wir wollen kein JavaScript beim Postback verwenden, um ein neues Fenster zu öffnen. onload
da dies Benutzer, die JavaScript deaktiviert haben, aufhält.
Mögliche Lösungen:
- Öffnen Sie beim Klicken auf eine Schaltfläche ein neues Fenster mit einer eindeutigen ID (lassen Sie das Postback für die Codeausführung geschehen). Das neue Fenster sollte einen Bericht anfordern, aber der Code wartet, bis der Bericht erstellt ist. Zeigen Sie auf der Berichtsseite eine Wartemeldung an, die eine Zeitüberschreitung anzeigt und es dem Benutzer ermöglicht, die Seite zu aktualisieren oder in der Meta-Ansicht zu aktualisieren.
- Verwenden Sie JavaScript, aber erkennen Sie, ob JS beim Postback aktiviert ist (durch Setzen eines Variablenwerts mit JS beim Laden des Formulars), wenn JS deaktiviert ist, zeigen Sie dem Benutzer einen Link für einen Bericht, sonst öffnen Sie ein Fenster mit JS beim Laden der Seite nach dem Postback.
Fragen:
- Gibt es eine bessere Möglichkeit, dies zu tun?
- Haben Sie Tipps zur Verbesserung der oben genannten Lösungen?
- Welches würden Sie bevorzugen und warum?