SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

ReturnPage beim ModalDialog

bewertet von 0 Usern
Beantwortet Dieser Beitrag hat 1 Geprüfte Antwort | 8 Antworten | 1 Follower

Ohne Rang
20 Beiträge
Therese erstellt in 28 Nov 2017 13:30

Hallöchen,

auf einer Wiki Seite nutze ich ModalDialog um ein PopUp Fenster mit einem Formular zu öffnen. Wenn das Formular gespeichert wird, hätte ich gern, dass der Nutzer auf die Liste geleitet wird, in die er soeben mit dem Formular den Eintrag gemacht hat.

Da ich totaler Noob bin was so "Zeuch" angeht - ich google mir die notwendigen Skripte - bitte ich hier um Hilfe. Ich dachte ja ich muss einfach nur ein ?Source= irgendwo dran klatschen, aber das klappt nicht so recht.

Das hier ist mein Script:

<script>
function openDialog(pageUrl) {
var options = {
    url: pageUrl,
    title: 'Mein Seitentitel',
    allowMaximize: false,
    showClose: true,
    width: 650,
    height: 700
};
SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);      
}

</script>
<a href="#" onclick="openDialog('XXX');">Neuer Eintrag</a>

 

Dankeschön!

Beantwortet Geprüfte Antwort

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

Wenn das exakt Dein Code ist, dann fehlt bei den options hinter onPopUpCloseGoTo ein Komma

Viele Grüße
Andi
af @ evocom de
Blog

Alle Antworten

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

bei den options kannst Du als dialogReturnValueCallback eine Funktion angeben, die nach dem Schließen des Dialogs aufgerufen wird. Dort kannst Du dann auf die gewünschte Seite weiterleiten, z.B. mit window.location = "http://sharepointcommunity.de";

Mehr Infos dazu oder wenn Du aus dem Dialog noch Werte zurückgeben möchtest: http://www.ashokraja.me/articles/How-to-pass-or-return-value-from-a-SharePoint-2013-Modal-Popup-Dialog-to-the-Base-Page

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
20 Beiträge

Hmm ... da passiert irgendwie gar nix ..ich mach irgendwas falsch oder? Kannst du dir das mal anschauen bitte?

<script>
function openDialog(pageUrl) {
var options = {
    url: pageUrl,
    title: 'MEIN TITEL',
    dialogReturnValueCallback: onPopUpCloseGoTo
    allowMaximize: false,
    showClose: true,
    width: 650,
    height: 700
};
SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);      
}


function onPopUpCloseGoTo (result, target) {
if(result === SP.UI.DialogResult.OK) {
window.location = "ZIELSEITE.aspx";
}

if(result === SP.UI.DialogResult.cancel) {
SP.UI.Notify.addNotification("Operation was cancelled...", false, "", null); }
}


</script>
<a href="#" onclick="openDialog('XXX');">Neuer Eintrag</a>

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

Wenn das exakt Dein Code ist, dann fehlt bei den options hinter onPopUpCloseGoTo ein Komma

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
20 Beiträge

Großartig! Genau das wars. Mannometer ... naja ich hab hier nur Notepad (nein ohne ++) ... Danke danke danke!!

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

Therese:
ich hab hier nur Notepad (nein ohne ++)

Wo gibt's denn sowas??? Darfst Du wenigstens etwas installieren? Dann hole Dir Visual Studio Code. Kostet nichts und ist echt gut.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
20 Beiträge

Ich hab ne Testmaschine wo ich mich remote aufschalten kann und da auch Adminrechte zum installieren hab. Da könnte ich mir das ++ mal drauf packen. Ich bräuchte ja eher so ein wysiwyg teil aber umgekehrt. Ich schreib rein was ich haben will, und das tool macht mir daraus den Code, also wyw(ant)iwyg DAS wär mal ne Evolution!

Top-10-Beitragsschreiber
Männlich
18.370 Beiträge

Sag Bescheid, wenn Du es gefunden hast. Könnte ich auch gebrauchen :-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
20 Beiträge

Ggf ist es schon bald soweit! Es wird ja Zeitreisen geben irgendwann, darüber sind wir uns einig. Und dann reise ich in die Zukunft, sage dem Tool - was es dann ja schon gibt - dass ich genau das haben will. Lasse es also sich selbst nochmal programmieren. Dann komme ich damit zurück und ZACK. Sache erledigt. Easypeasy. Dass wir es "jetzt" noch nicht haben, kann ich mir nur so erklären, dass mein zukünftiges Ich der Meinung ist, dass ich es jetzt noch nicht wirklich brauche. Masterplan und so.

Ich brauche jetzt dringend Feierabend, fühlt sich jedenfalls so an ;) Tschö und danke nochmal!

Seite 1 von 1 (9 Elemente) | RSS