SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




NewForm.aspx close-button

Unbeantwortet Dieser Beitrag hat 20 Antworten

Ohne Rang
349 Beiträge
Manfred K. erstellt 4 Juni 2012 17:03
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

ich habe meine NewForm customized und ein "Schließen"-button generiert:

<asp:Button runat="server" Text="Schließen" id="Button1" OnClick="ButtonCancel_Click"/>

Wie kann ich aber mein ModalDialog mit dem code schließen???

Habe schon einiges ausprobiert... geht einfach nicht!!!

Danke!

 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Juni 2012 08:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Manfred K."]Wie kann ich aber mein ModalDialog mit dem code schließen???[/quote]

Mit JavaScript: window.frameElement.commitPopup();

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 5 Juni 2012 08:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

mein Button in der NewForm.aspx

<input name="Button1" type="button" value="Schaltfläche" onclick="window.frameElement.commitPopup();"/>

Ich rufe mein ModalDialog (per Link) auf einer anderen Seite so:

<a style="font-size:12px;" href="javascript:open()">Mein dialog</a>

dann JavaScript:

var options = {
        url: "http://meineSeite.aspx",
        title: "Dialog",
        allowMaximize: true,
        showClose: true,
        width: 652,
        height: 800,
        dialogReturnValueCallback: silentCallback};
               
function open() {SP.UI.ModalDialog.showModalDialog(options);}

function silentCallback(dialogResult, returnValue) {
}
function refreshCallback(dialogResult, returnValue) {
    SP.UI.Notify.addNotification('Erfolgreich gespeichert!');
    SP.UI.ModalDialog.RefreshPage(SP.UI.DialogResult.OK);
}

Was fehlt mir da??? Bin nun ganz durcheinander!!!

Danke!

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 5 Juni 2012 09:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Sieht eigentlich gut aus. Wo genau klemmt's denn?

Du könntest bei dem Close-Button im onclick noch ein return false; anhängen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
23 Beiträge
StefanBauer Als Antwort am 5 Juni 2012 11:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

probier mal folgendes:

        // Liefert den letzten Modal Dialog
        var dialog = SP.UI.ModalDialog.get_childDialog();
        if (dialog != null) {
            // Mach den Modal Dialog zu.
            SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.cancel, "Closed by User"); 
        }

Der Code entstammt meinem Blog Post Close SharePoint Modal Dialogs with “Esc”-Key press.

lg
Stefan 

 

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 5 Juni 2012 13:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

passiert nix!!!

Ohne Rang
23 Beiträge
StefanBauer Als Antwort am 5 Juni 2012 13:36
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hängt der Code im ButtonCancel_ok event ?

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 5 Juni 2012 13:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

???

Wo/Was ist das?

wo soll ich nachgucken?

Ohne Rang
23 Beiträge
StefanBauer Als Antwort am 5 Juni 2012 14:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Zunächst einmal würde ich eine Funktion schreiben:

function schließeDialog(){

 // Liefert den letzten Modal Dialog
var dialog = SP.UI.ModalDialog.get_childDialog();
if (dialog != null) {
// Mach den Modal Dialog zu.
SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.cancel, "Closed by User");
}

}

und diese auf den Button hängen. Das sieht dann wie folgt aus:

<input name="Button1" type="button" value="Schaltfläche" onclick="javascript:schließeDialog()"/>

macht er dann etwas oder macht nichts?

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 5 Juni 2012 14:56
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Stefan, Danke für Deine Unterstützung!!!

Bringt Fehlermeldung:

SCRIPT5007: Der Wert der Eigenschaft "schließeDialog" ist Null oder undefiniert, kein Function-Objekt

Ohne Rang
23 Beiträge
StefanBauer Als Antwort am 5 Juni 2012 15:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Welchen Browser verwendest du? Sieht so als würde er bei dir das Script nicht laden.

Ich hab es sowohl auf IE7, IE8 und IE9 geteste und es funktioniert.

Ich hab einfach nur mittels SharePoint Designer folgenden Code in der New Form platziert:

<script type="text/javascript">
function schließeDialog(){

 // Liefert den letzten Modal Dialog
var dialog = SP.UI.ModalDialog.get_childDialog();

if (dialog != null) {

// Mach den Modal Dialog zu.

SP.UI.ModalDialog.commonModalDialogClose(SP.UI.DialogResult.cancel, "Closed by User"); 

}

}

</script>
<input name="Button1" type="button" value="Schaltfläche" onclick="javascript:schließeDialog()"/> 

Klick ich dann auf die Schaltfläche schließt sich der Dialog ohne Probleme.

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 5 Juni 2012 15:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

habe ie8

wo genau hast du javascript plaziert??? Oben? Unten? Mitte?

 

Ich habe unten in dem content:

<asp:Content ContentPlaceHolderId="PlaceHolderBodyAreaClass" runat="server">

  <script type="text/javascript">

   </script>   
</asp:Content>

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 5 Juni 2012 15:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

evtl. wichtig!!! Habe vergessen zu erwähnen:

die Form stammt von einer anderen Webanwendung!

Ohne Rang
23 Beiträge
StefanBauer Als Antwort am 5 Juni 2012 16:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bedeutet Webapplikation eine andere Webanwendung oder eine andere Webseitensammlung unter einer andere Webapplikation im SharePoint?

Das macht meiner Meinung nach schon einen Unterschied ;)

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 6 Juni 2012 07:04
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

eine andere Webanwendung.

Aber schließen ist doch gleich scließen, deswegen mache ich das mit dem code!!!

Und wenn ich die NewForm mit dem angelegten Button teste, passiert nix bzw. kommt o.g. Fehlermeldung im debugger.

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 6 Juni 2012 11:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hat da jemand eine Lösung? Bin schon am Verzweifeln!!!

Ohne Rang
23 Beiträge
StefanBauer Als Antwort am 6 Juni 2012 11:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich hoffe du hast das Javascript zum schließeDialog auf deiner Webapplication noch drinnen. Du mußt den Code der funktion auf folgendes ändern.

window.parent.location.href = window.parent.location.href; 

Das macht den Dialog zwar nicht zu aber er geht weg, in dem die dahinterliegende Seite neu lädt.

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 6 Juni 2012 12:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

es geht!!! ich rufe danach window.close() und Dialog verschwindet

window.parent.location.href = window.parent.location.href;
window.close();

Vielen Dank!!!

Ohne Rang
23 Beiträge
StefanBauer Als Antwort am 6 Juni 2012 12:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bitte gern geschehen.

window.close() brauchst du meiner Meinung nach nicht, da der ModalDialog (Iframe) kein eigentliches window ist.

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 6 Juni 2012 13:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

ohne, geht aber nicht!!!

Mich stört zwar die Meldung von website ' möchten sie Fenster schließen,... Ja-Nein", aber egal!!!

Danke vielmals!

Ohne Rang
349 Beiträge
Manfred K. Als Antwort am 6 Juni 2012 14:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

bin immer noch nicht fertig!!!

Wie gesagt, meine .aspx-Seite liegt in einer anderen Webanwendung.

Ich rufe per link die Seite auf, beim schließen der Seite, kommt Fehlermeldung:

SCRIPT70: Erlaubnis verweigert.

Was soll die heißen?

Danke!