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.




Javascript in allen Edit- und ViewForms

Geprüfte Antwort Dieser Beitrag hat 6 Antworten

Ohne Rang
54 Beiträge
Crypticone erstellt 2 Jan. 2013 14:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen und ein frohes neues Jahr.

Ich suche nach einer einfachen Lösung um in alle Edit und ViewForms einen Javascript-Code zu integrieren. Da ich nicht jedes Edit und ViewForm manuell anfassen möchte, weil zu aufwändig, suche ich nach einem einfachen programmatischen Weg. Am besten wäre es, wenn ich das Basistemplate modifizieren könnte, so dass der Javascript-Code grundsätzlich mit erstellt wird. Allerdings weiß ich nicht, ob dies möglich ist und wenn ja, welches Template ich anfassen muss.

Hat jemand dazu vielleicht einen Tipp?

Gruß und Dank

  Jörg

Alle Antworten

Ohne Rang
96 Beiträge
Stefan Walter Als Antwort am 2 Jan. 2013 18:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

um es über Templates zu spielen, würde ich es so wie hier beschrieben versuchen.

Sollte das aus irgendeinem Grund nicht klappen würde mir nur folgendes einfallen: zum einen könnte man ein Tool erstellen das alle vorhandenen Edit & Viewforms anpasst, und zum anderen einen Eventhandler erstellen, der dann automatisch beim Hinzufügen einer Liste den Code einsetzt. Ist aber weder elegant noch schön ;)

Lg,
Stefan

www.stefan-walter.net
SharePoint MCITP, MCPD, MCTS, MOS

 

Ohne Rang
54 Beiträge
Crypticone Als Antwort am 2 Jan. 2013 18:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Stefan,

 

danke für die rasche Antwort. Allerdings habe ich das Beispiel nicht verstanden, bzw. weiß nicht wo ich dort wie den JavaScript-Code einbauen soll. Bislang habe ich das jeweils über den SPD gemacht und das Form dann entsprechen angepasst. Konkret: Ich habe den JavaScript-Code an das onLoad gehängt, damit es direkt bei Laden der Seite zur Verfügung steht. Das Beispiel geht vom Code aus, der für das Rendering der einzelnen Elemente (sprich Felder) notwendig ist, was mir aber nichts bringt (mag sein, dass ich das Beispiel nicht korrekt verstanden habe...).

Die Idee mit dem Tool funktioniert auch nicht, da es sich bei den Forms um den Standard handelt, diese also bislang in keiner Weise modifiziert sind. Wenn ich das richtig verstanden habe, nutzt SP dann halt "den" Standard und macht das ganze dann dynamisch. Die Idee mit dem Eventhandler ist ganz gut, aber meiner Meinung nach dann recht aufwändig. Wie gesagt hatte ich einfach nur die Idee, das "Standard"-Template, welches SP nutzt um die Forms zu erstellen, zu manipulieren. Das sollte gehen, allerdings weiß ich nicht wo das Teilchen liegt bzw. welches der Templates das richtige ist....

Konkret geht es um den Abschnit: "PlaceHolderAdditionalPageHead". Hier habe ich den JavaScript-Code im Test verankert. Diesen Abschnitt möchte ich global für alle Templates ändern (also Edit, View und New).  Das ganze funktioniert auch nur deshalb, weil ich den JavaScript-Code in jedem Form benötige... Wo finde ich das hierzu gehörige Template???

Für jeden Tipp bin ich dankbar...

Gruß

Jörg

Ohne Rang
96 Beiträge
Stefan Walter Als Antwort am 2 Jan. 2013 20:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also man kann zwar schon ohne Visual Studio im Custom RenderingTemplate JS Files einbinden und auch Funktionen auslösen (selbst getestet), aber meines Wissens nach nicht im onLoad Bereich des Formulars.

Solltest du Visual Studio zur Verfügung haben, könntest du dir auch dieses Beispiel (einfach nach der Überschrift 'Adding Enter and ESC default keys to SharePoint list forms' suchen) ansehen, dort wird mittels einer CustomAction Javascript beim onLoad eingefügt und das ganze noch auf die entsprechenden Forms eingeschränkt. Da es hier allerdings nicht auf die Templates Rücksicht nimmt, müssen die Forms entsprechend benannt sein.

Als letzte Möglichkeit könnte man vielleicht das Script das im onLoad ausgeführt werden soll in die Masterpage setzen und dort bevor die spezifische Funktion ausgeführt wird prüfen ob man sich auf einem entpsrechenden Form befindet (das hab ich aber nicht getestet). 

www.stefan-walter.net
SharePoint MCITP, MCPD, MCTS, MOS

 

Ohne Rang
221 Beiträge
MiriMar Als Antwort am 3 Jan. 2013 09:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das Template für die Standardforms liegt unter \Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\Pages und heißt form (ASP.NET). Kopier dir das Original aber lieber, bevor du was änderst, ich hab die Erfahrung gemacht, dass man da schnell große Probleme kriegt...

Ohne Rang
54 Beiträge
Crypticone Als Antwort am 3 Jan. 2013 13:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

erst einmal danke für Eure Hilfe.

Der letzte Vorschlag: form.aspx zu manipulieren, war genau das, was ich gesucht habe. Es geht auch... HURRAAAAAA

Danke und Gruß

Jörg

Ohne Rang
221 Beiträge
MiriMar Als Antwort am 3 Jan. 2013 17:18
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Schön, wenn ich helfen konnte. Hoffentlich hast du gebackuped, ich hab heute wieder mal meinen halben Tag damit verbracht, den Fehler nach einer Mini-Anpassung der upload.aspx zu beheben. Das Ändern der Forms ist eben so nicht gewollt/supported und führt schnell zu Problemen...

Ist das Thema dann beantwortet?