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

Current ID an Button übergeben

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 7 Antworten | 1 Follower

Ohne Rang
3 Beiträge
Martel erstellt in 15 Okt 2016 11:31

Guten Morgen,

ich bin seit kurzem mit SharePoint zugangen und habe da ein Problem das ich noch nicht gelöst bekommen habe.

Ich klicke auf ein Item und die Editform öffnet sich, in dieser Editforum gibt es einen Button.

Wenn dieser Button gedrückt wird, soll die "checklist" Form für dieses ITEM geöffnet werden.

 

Es öffnet sich derzeit zwar die ChecklistForm aber nur für das erste ITEM in der Liste. Also die ID ist falsch.

Wie muss der Code des Buttons aussehen, damit die Checkliste für das aktuell geöffnete ITEM angezeigt wird?

Ich hoffe das war soweit verständlich. Wenn nicht einfach Fragen.

 

Vielen Dank

Alle Antworten

Top-50-Beitragsschreiber
221 Beiträge

Hallo,

Wie ist der Button denn angelegt? Also als SharePoint Button oder HTML oder ASP? Poste doch bitte mal den Code, der da dahinterliegt (Kriegt man ganz einfach raus, indem man im Browser F12 klickt und dann den Button markiert)

Je nachdem muss da nämlich meistens recht trivial {@ID} eingegeben werden. Ganz wichtig aber: Das klappt natürlich nur im Edit-Modus. Bei Neu gibt's ja noch keine ID, auf die da reverenziert werden könnte. Aber das hast du ja scheinbar bedacht, geht ja nur um die Editform:)

Top-10-Beitragsschreiber
19.061 Beiträge

Das Prinzip ist recht einfach: hole per JavaScript die ID aus der URL und hänge sie an die URL, die vom Button aufgerufen wird.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
3 Beiträge

Vielen Dank für die Hilfe.

Andi Fandrich:
Das Prinzip ist recht einfach: hole per JavaScript die ID aus der URL und hänge sie an die URL, die vom Button aufgerufen wird.

- Leider kenne ich mich mit Java noch nicht aus. HTML, etwas php, viel Autohotkey - Aber Java fange ich gerade erst an. Ich weiß noch nicht wie das geht.  

Das ist mein Code (Browser):

<INPUT onclick="javascript: __doPostBack('ctl00$m$g_0d653e49_19ab_4845_8b34_b0a37135eb4f','__redirect={pom_running_order.aspx?@ID_x003D_[%Curent Item: ID%]}')" type=button value="Running Order" name=btnFormAction>

 Das ist der Code aus dem SharePoint Designer:

<input type="button" value="Running Order" name="btnFormAction" onclick="javascript: {ddwrt:GenFireServerEvent('__redirect={pom_running_order.aspx?@ID_x003D_[%Curent Item: ID%]}')}" /></td>

 

Top-10-Beitragsschreiber
19.061 Beiträge

Das ist ein serverseitiger Button. Beschreibe doch bitte erstmal wie genau Du den Button erzeugt hast und was er denn eigentlich machen soll.

PS: Bitte nicht Java und JavaScript verwechseln. Das sind zwei komplett unterschiedliche Dinge.

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

Und hier noch eine JavaScript-Funktion, mit der man die ID aus der URL abholen kann:

function getQueryStringParameter(paramName) {
 
var params = document.URL.split("?")[1].split("&"),
      i,
      singleParam;
  for (i = 0; i < params.length; i++) {
    singleParam = params[i].split("=");
    if (singleParam[0] == paramName) {
      return singleParam[1];
    }
  }
  return "";
}

Wenn Du also einen Button hast
<input type="button" id="myButton" value="Klick mich" />

kannst Du ihm so beibringen, was beim Klick geschehen soll:

document.getElementById("myButton").onclick = function() {
  window.location = "OtherPage.aspx?ID=" + getQueryStringParameter("ID");
}

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
3 Beiträge

Guten Tag,

vielen Dank für den Code und die Hilfe.

 

Hier habe ich eine Lösung die ich für andere Suchenende bereitstelle:

<input type="button" value="Running Order" name="btnFormAction" onclick="var ur = window.location.href;var URL = ur.replace('Aktuelle.aspx','ZIELFORM.aspx');window.location.assign(URL);" />

 

Top-10-Beitragsschreiber
19.061 Beiträge

Na das nenne ich mal einen schmutzigen Hack ;-)

Aber wenn schon, kann man das noch weiter vereinfachen:
onclick="window.location=window.location.href.replace('aktuelle.aspx','zieform.aspx');"

Viele Grüße
Andi
af @ evocom de
Blog
Seite 1 von 1 (8 Elemente) | RSS