preko
Erfahrenes Mitglied
Hallo,
ich möchte mehrere Links innerhalb einer (SharePoint-) Webseite ändern/manipulieren. Die ursprünglichen Links weisen auf ein Änderungsformular hin, welches mittels einer ID den entsprechenden Datensatz zur Änderung anbietet. Da nun verschiedene Seiten mit verschiedenen Berechtigungen Änderungen an einer Datenbanktabelle (Liste) vornehmen sollen, möchte ich eine Möglichkeit schaffen, auf individuelle Änderungsformularseiten zu verweisen, damit auch nur die Felder angeboten werden, die den jeweiligen Berechtigungen entsprechen.
Ich habe nun folgenden, beispielhaften Aufbau der HTML-Seite, auf der die Links dargestellt werden:
Nun habe ich danach jQuery Code eingefügt, der die Seite nach Entsprechungen zum Link absucht und dann den ursprünglichen Link modifiziert, so dass ein anderes Formular angesprochen wird. Grundsätzlich funktioniert das Ganze bei einfachen Links, wie z. B. von http://www.google.de auf http://www.microsoft.com zu ändern, etc., allerdings habe ich ein Problem bei der Maskierung (welche Zeichen sind zu maskieren und in welcher Form) der Sonderzeichen im Regex-Bereich des jQuery-Codeblocks, wenn die Links andere Sonderzeichen wie z. B. "?", "_", "&", "%", etc. enthalten.
Ja, ich habe Google gelöchert, aber ich kapiere es einfach nicht. Ich finde Regex, so sinnig und mächtig es auch ist,
und kriege es einfach nicht hin. Kann mir bitte jemand sagen, wo der "Wurm" drin ist, so dass ich mal zu Potte komme mit dem Codeteil?
Vielen Dank!
ich möchte mehrere Links innerhalb einer (SharePoint-) Webseite ändern/manipulieren. Die ursprünglichen Links weisen auf ein Änderungsformular hin, welches mittels einer ID den entsprechenden Datensatz zur Änderung anbietet. Da nun verschiedene Seiten mit verschiedenen Berechtigungen Änderungen an einer Datenbanktabelle (Liste) vornehmen sollen, möchte ich eine Möglichkeit schaffen, auf individuelle Änderungsformularseiten zu verweisen, damit auch nur die Felder angeboten werden, die den jeweiligen Berechtigungen entsprechen.
Ich habe nun folgenden, beispielhaften Aufbau der HTML-Seite, auf der die Links dargestellt werden:
HTML:
<div class="container-fluid">
<div class="row">
<div class="col-md-12"><br /><br /><br /><br /></div>
</div>
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4 text-center bg-success">
<a href="https://domain.de/projekte/Beispiel/_layouts/15/listform.aspx?PageType=6&ListId=%7BB054E6C4%2DE31E%2D4289%2D8841%2D944127C1234F%7D&ID=1">Link 1, der auf Standardformular verweist.</a>
</div>
<div class="col-md-4"> </div>
</div>
<div class="row">
<div class="col-md-4"> </div>
<div class="col-md-4 text-center bg-success">
<a href="https://domain.de/projekte/Beispiel/_layouts/15/listform.aspx?PageType=6&ListId=%7BB054E6C4%2DE31E%2D4289%2D8841%2D944127C1234F%7D&ID=2">Link 2, der auf Standardformular verweist.</a>
</div>
<div class="col-md-4"> </div>
</div>
</div>
Nun habe ich danach jQuery Code eingefügt, der die Seite nach Entsprechungen zum Link absucht und dann den ursprünglichen Link modifiziert, so dass ein anderes Formular angesprochen wird. Grundsätzlich funktioniert das Ganze bei einfachen Links, wie z. B. von http://www.google.de auf http://www.microsoft.com zu ändern, etc., allerdings habe ich ein Problem bei der Maskierung (welche Zeichen sind zu maskieren und in welcher Form) der Sonderzeichen im Regex-Bereich des jQuery-Codeblocks, wenn die Links andere Sonderzeichen wie z. B. "?", "_", "&", "%", etc. enthalten.
Ja, ich habe Google gelöchert, aber ich kapiere es einfach nicht. Ich finde Regex, so sinnig und mächtig es auch ist,
![Poop :poop: :poop:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f4a9.png)
Javascript:
<script type="text/javascript">
$(document).ready(function(){
$("a[href^='https://domain.de/projekte/Beispiel/_layouts/15/listform.aspx?PageType=6&ListId=%7BB054E6C4%2DE31E%2D4289%2D8841%2D944127C1234F%7D&ID=']")
.each(function()
{
this.href = this.href.replace(/^https:\/\/domain\.de\/projekte\/Beispiel\/_layouts\/15\/listform\.aspx?PageType=6&ListId=%7BB054E6C4%2DE31E%2D4289%2D8841%2D944127C1234F%7D&ID=/,
"https://domain.de/projekte/Beispiel/Lists/Muster/MeinFormular.aspx?ID=");
});
});
</script>
Vielen Dank!