2012-04-13 8 views
1

Mit APEX 3.2 arbeiten:APEX 3.2: Popup-Bestätigung nach dem Senden der Seite

Ich möchte ein Bestätigungs-Popup auf Seite 2 anzeigen, wenn Seite 1 erfolgreich eingereicht wurde. Momentan kann ich den Text aus der 'Erfolgsmeldung verarbeiten' auf Seite 2 anzeigen, aber anstelle des Textes 'Erfolgsmeldung verarbeiten' möchte ich ein Popup-Fenster mit Warnungen erstellen. Irgendeine Idee, wie man das macht?

HINWEIS: Ich möchte Javascript nicht auf die Schaltfläche "Senden" auf Seite 1 setzen, da bei einem Validierungsfehler das Popup-Fenster bei jedem Klicken auf "Senden" trotzdem angezeigt wird. Ich möchte nur, dass das Popup nur erscheint, wenn Seite 1 erfolgreich eingereicht wurde.

Antwort

1

Sie können dies tun:

1) Bearbeiten Sie die Vorlage Seite für Seite 2. Bearbeiten Sie die Erfolgsmeldung Subtemplate verwendet und legte ein span-Tag rund um die # SUCCESS_MESSAGE # Platzhalter wie folgt aus:

<span id="successMessage">#SUCCESS_MESSAGE#</span> 

2) erstellen Sie einige Javascript auf Seite 2 zu laufen, wenn die Seite geladen wird, das tut dies:

if ($x('successMessage')) alert ($x('successMessage').innerHTML); 

die Erfolgsmeldung wird nur gemacht, wenn es eine Erfolgsmeldung, die angezeigt werden, ein Daher wird der Alarm nur ausgelöst, wenn auch eine Erfolgsmeldung angezeigt wird.

3) Sie könnten die Anzeige der Erfolgsmeldung auf der Seite selbst unterdrücken, indem Sie style = "display: none" zum äußeren Teil des Success Message-Subtemplate hinzufügen.

NB Die Änderung der Vorlage wirkt sich auf alle Seiten aus, die darauf basieren, nicht nur auf Seite 2, daher müssen Sie möglicherweise zuerst eine Kopie davon erstellen. Sie könnten Javascript in die Seitenvorlage einfügen, so dass Sie beim Laden von JavaScript auf jeder Seite nicht dasselbe hinzufügen müssen.

+0

Ok, ich bin ein Anfänger, wenn es um JS geht. Würde die JS so aussehen, um die Last anzurufen? Wenn ja, wo stelle ich 'func1' ein ' Anruf? –

+0

Ich denke, in Apex 3.2 müssen Sie den Aufruf an die Funktion in einem Feld wie etwa "On load processing" in den Seitenattributen aufrufen. In 4.1 würden Sie einfach den Code, den ich Ihnen gegeben habe, in das Attribut "Execute When Page Loads" einfügen. –

Verwandte Themen