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

Den Speicherbutton zum Speichern und Schließen der Registerkarte verwenden

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

Top-500-Beitragsschreiber
57 Beiträge
AndyBy erstellt in 19 Jul 2018 14:39

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

Beantwortet Geprüfte Antwort

Top-500-Beitragsschreiber
57 Beiträge

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

Alle Antworten

Top-500-Beitragsschreiber
57 Beiträge

Ergänzung der Code

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

Top-10-Beitragsschreiber
18.754 Beiträge

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
Top-500-Beitragsschreiber
57 Beiträge

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

Top-10-Beitragsschreiber
18.754 Beiträge

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

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

Dann wäre es ja langweilig :-)

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
57 Beiträge

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

Top-10-Beitragsschreiber
18.754 Beiträge

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

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
57 Beiträge

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

Top-10-Beitragsschreiber
18.754 Beiträge

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
Top-500-Beitragsschreiber
57 Beiträge

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

Seite 1 von 1 (10 Elemente) | RSS