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 einem berechneten Feld

Geprüfte Antwort Dieser Beitrag hat 3 Antworten

Ohne Rang
23 Beiträge
maik_zeyen erstellt 19 Jan. 2010 13:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

eventuell kann mir jemand weiter helfen. Also ich möchte eine Button per Javascript in einem berechneten anzeigen lassen und per Click auf diesen den wert eines anderen Feldes um 1 erhöhen.

Die anzeige des Buttons funktionniert und auch testweise das zurück geben eines alert() Popups funktioniert einwandfrei jedoch nicht das erhöhen des Wertes oder den Wert eines Feld auf das eines weiteren Feldes zu setzten: Hier mal ein kleines Beispiel:

 

="<DIV><INPUT TYPE='button' NAME='myButton' VALUE='test' onClick='([test2]='1')'></DIV>"

 

Die Alert Box funktioniert:

="<DIV><INPUT TYPE='button' NAME='myButton' VALUE='test' onClick=alert('test')></DIV>"

Alle Antworten

Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 20 Jan. 2010 12:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Maik,

wo zeigst Du den Button denn an? Wenn ich Dein Beispiel in ein Berechnetes Feld eingebe, gibt er mir nur wieder den HTML Code aus und keinen Button.

In jedem Fall ist aber [test2]='1' meiner meinung nach kein JS Code, sondern eher die Syntax für die Formel von berechneten Feldern, die Du wohl nicht für JS verwenden kannst. Aber auch hier ginge das meines Wissens so nicht, einem anderen Feld einen Wert zuzuweisen, sondern nur dem aktuellen.

 

Gruß

Benjamin

Ohne Rang
23 Beiträge
maik_zeyen Als Antwort am 20 Jan. 2010 13:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Benjamin,

hab ich wohl vergessen noch zu sagen, unter der Liste ist ein Inhalt Editor Webpart mit folgendem Script:

<script type="text/javascript">
//
// Text to HTML
// Feedback and questions: Christophe@PathToSharePoint.com
//
var theTDs = document.getElementsByTagName("TD");
var i=0;
var TDContent = " ";
while (i < theTDs.length) {
try {
TDContent = theTDs[i].innerText || theTDs[i].textContent;
if ((TDContent.indexOf("<DIV") == 0) && (TDContent.indexOf("</DIV>") >= 0)) {
theTDs[i].innerHTML = TDContent;
}
}
catch(err){}
i=i+1;
}
//
// ExpGroupRenderData overwrites the default SharePoint function
// This part is needed for collapsed groupings
//
function ExpGroupRenderData(htmlToRender, groupName, isLoaded) {
var tbody=document.getElementById("tbod"+groupName+"_");
var wrapDiv=document.createElement("DIV");
wrapDiv.innerHTML="<TABLE><TBODY id=\"tbod"+ groupName+"_\" isLoaded=\""+isLoaded+ "\">"+htmlToRender+"</TBODY></TABLE>";
var theTBODYTDs = wrapDiv.getElementsByTagName("TD"); var j=0; var TDContent = " ";
while (j < theTBODYTDs.length) {
try {
TDContent = theTBODYTDs[j].innerText || theTBODYTDs[j].textContent;
if ((TDContent.indexOf("<DIV") == 0) && (TDContent.indexOf("</DIV>") >= 0)) {
theTBODYTDs[j].innerHTML = TDContent;
}
}
catch(err){}
j=j+1;
}
tbody.parentNode.replaceChild(wrapDiv.firstChild.firstChild,tbody);
}
</script>

Welches dazu führt das der Html code in einem berechentetn Feld gelesen und umgewandelt werden kann.

Habe bisher keine Erfahrung mit JS aber hab bereits den Hinweis bekommen das dies mit jquery möglich sein sollte. so ich mich nun dort erstmal einarbeiten werde.

Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 20 Jan. 2010 14:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn du den geänderten Wert nicht nur in der Oberfläche eintragen willst (z.B. in einem Formular, in dem man dann noch OK klicken muss zum Sichern), sondern direkt per Javascript das ListItem updaten willst, gibt es die Möglichkeit die Sharepoint Webservices zu verwenden. Dazu gibt es die SPAPI unter http://darrenjohnstone.net/download/12/ . Beispiele dazu findest Du unter http://darrenjohnstone.net/2008/07/22/examples-for-the-sharepoint-and-office-live-javascript-api/