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.




Den Speicherbutton zum Speichern und Schließen der Registerkarte verwenden

Geprüfte Antwort Dieser Beitrag hat 9 Antworten

Ohne Rang
66 Beiträge
AndyBy erstellt 19 Juli 2018 14:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ein wunderschönen Tag zusammen,

ich habe mit den SharePoint Designer 2013 die New.aspx neu angelegt und so erstellt wie ich sie brauche. Ich lasse die ASPX-Site über einen Link in einer neuen Registerkarte öffnen. Jetzt soll beim Klick auf Speichern das Element gespeichert werden und anschließend die Registerkarte geschlossen werden. 

Beim Klick auf Abbrechen soll die Registerkarte geschlossen werden und nicht in die Liste wechseln. 

Versucht habe ich das einbinden eines Button über Insert-HTML-AdvanceButton und wollte ihm die Befehle geben onklick="Close" & onklick="Savebutton2"(Savebutton2 ist der Default Save-Button)

Und über Insert-SharePoint-FormActionButton habe ich kein Button bekommen.

Was mache ich verkehrt?

Ich danke euch schon mal

AndyBy

Alle Antworten

Ohne Rang
66 Beiträge
AndyBy Als Antwort am 19 Juli 2018 14:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ergänzung der Code

<tr>
      <td>
      <button name="Abutton1" onclick="close" onclick="save">button</button>
      
      </td>
     </tr>

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 19 Juli 2018 16:21
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das geht technisch auf diese Art nicht. Beim Speichern wird serverseitiger Code aufgerufen und erst wenn der fertig ist, könnte man den Tab schließen. Dann gibt es aber die Seite und das dort enthaltene Script nicht mehr. Du müßtest also die ganze Logik zum Anlegen des neuen Elements ebenfalls per JavaScript machen. Dann kannst Du das Element speichern, was auch immer sonst noch machen und anschließend den Tab schließen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
66 Beiträge
AndyBy Als Antwort am 20 Juli 2018 10:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

och nee kann den nicht mal was einfach sein ;-)

OK das Speichern funktioniert aber ich habe das Problem mit dem Schließen des Fensterns noch nicht gelöst.

$(document).ready(function()
 {
$("IDderForm").click(function(){
  window.close();
 });
});

So ist das Script auf der Seite der Liste und kann dadurch nicht mehr das Fenster schließen.

Muss ich jetzt jedes Feld erst in Variable setzten und über eine Funktion abspeichern bevor onclick ausgeführt wird? Wenn ja kannst du mir ein Beispiel zum abspeichern von Elementen geben? Oder ein Bericht der die Vorgehensweise erklärt?

Danke

AndyBy

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Juli 2018 10:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das mit dem Speichern des Elements per JavaScript ist nicht so einfach (am Anfang). Hier findest Du einen Einstieg, wie man solche Dinge machen kann: https://docs.microsoft.com/de-de/sharepoint/dev/sp-add-ins/complete-basic-operations-using-javascript-library-code-in-sharepoint

Eine ganz andere und einfachere Möglichkeit wäre, auf den neuen Tab ganz zu verzichten. Du könntest stattdessen einfach ein Dialogfenster verwenden. Das schließt sich automatisch, wenn man auf einen der Buttons klickt: https://sharepoint.stackexchange.com/questions/164406/save-button-to-close-window-after-saving

[quote user="AndyBy"]och nee kann den nicht mal was einfach sein ;-)[/quote]

Dann wäre es ja langweilig :-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
66 Beiträge
AndyBy Als Antwort am 20 Juli 2018 12:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

ich habe den Button erstellt und onklick="openInDailog" eingetragen. Anschließend auf der ASPX-Seite ein Script Editor hinzugefügt und daas folgende Script eingetragen. 

<script>
SP.UI.ModalDialog.showModalDialog(options);

function openInDailog() {
     var options = {
         url: '/Lists/EPlanArtikel/Test&20New.aspx',
         tite: 'New Form',
         allowMaximize: false,
         showClose: true,
         width: 430,
         height: 630
     };

     SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);

     return false;
}
</script>

Nach 20Min Fehlersuche ist ein Kollege vorbei gekommen und meinte ich solle doch mal den Link ausprobieren und darüber das Dialogfenster öffnen. Also habe ich einen Link angelegt und als URL folgendes eingegeben

/sites/Lists/FormName.aspx?IsDlg=1

und evola öffnet mir der Link das Dialogfeld ;-) Ist zwar noch nicht schön aber es geht zumindest mal. Siehst du warum das über den Button nicht funktioniert?

Viele Grüße

AndyBy

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 20 Juli 2018 13:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

das muß so aussehen:
onclick="openInDialog()"

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
66 Beiträge
AndyBy Als Antwort am 23 Juli 2018 13:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

danke für die Hilfe ;-) Es funktioniert. Und so sieht die Lösung aus:

Im SharePoint Designer ein HTML-Button einfügen (Kein ASP und kein SharePoint da es mit denen nicht funktioniert hat)

<input name="Button1" type="button" value="button" onclick="openInDailog()"><div class="welcome-content">

und in einem Script Editor auf der ASPX-Seite:

<script>
SP.UI.ModalDialog.showModalDialog(options);

function openInDailog() {
     var options = {
         url: '/Lists/PfadzurForm.aspx',
         tite: 'New Form',
         allowMaximize: false,
         showClose: true,
         width: 430,
         height: 630
     };

     SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);

     return false;
}
</script>

 

Viele Grüße

AndyBy

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 23 Juli 2018 14:17
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wozu ist die erste Zeile in Deinem Script (SP.UI.Modal...)? Die kannst Du rasuwerfen.

Und noch ein Tip: Du mußt für den Dialog keine Größe (width und height) angeben. Wenn man das wegläßt, wird er normalerweise eben so groß wie notwendig. Damit bist Du für spätere Änderungen auf der sicheren Seite.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
66 Beiträge
AndyBy Als Antwort am 23 Juli 2018 14:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hahahaha wieder 30Min vergeudet in dem ich die Höhe und Breite angepasst habe :-))

Danke die Tipps werde ich nicht mehr so schnell vergessen :-)

Danke Andi