JSLink를 통해 ListForm 수정 및 닫기 버튼을 수정합니다
-
10-12-2019 - |
문제
현재 2010 년부터 2013 년까지 인턴으로 사용 된 SP 농장 솔루션을 이식하고 JSLink의 새로운 개념으로 고생하고 있습니다.
2010 해결책은 RenderingTemplate
ListForm
를 덮어 쓴 사용자 정의 저장 및 닫기 버튼 을 포함하도록 덮어 썼습니다.이제 SP2013을 사용하면이 새로운 JSLink가이를 처리 할 수 있습니다.
i 활성화가 현재 웹의 모든 ContentTypes의 JSLink 속성을 변경하고 자체 JavaScript 파일을 등록하는 이벤트 수신기가있는 기능을 만들었습니다.
그러나 지금까지 발견 한 모든 자습서 / 블로그 항목은 "JSLink로 필드의 렌더링을 사용자 정의하는 방법"만 설명하는 방법은 저장 버튼의 모양과 같이 물건을 변경하는 방법이 아닙니다.
여기에 나를 도울 수있는 사람이 있습니까?이미 하루를 검색하고 지금까지 유용한 것을 찾을 수 없었습니다.
해결책
양식이 완전히로드 된 후에 "POSTRENDER"이벤트를 사용하여 JavaScript 메서드를 실행할 수 있습니다.
(function () {
// Initialize the variable that stores the objects.
var overrideCtx = {};
overrideCtx.Templates = {};
// Assign a function to handle the
// PostRender events
overrideCtx.OnPostRender = postRenderHandler;
// Register the template overrides.
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx);
})();
// The postRenderHandler attends the OnPostRender event
function postRenderHandler(ctx) {
// You can manipulate the DOM in the postRender event
var ulObj;
var i, j;
ulObj = document.getElementById("unorderedlist");
// Reverse order the list.
for (i = 1; i < ulObj.children.length; i++) {
var x = ulObj.children[i];
for (j = 1; j < ulObj.children.length; j++) {
var y = ulObj.children[j];
if(x.innerText<y.innerText){
ulObj.insertBefore(y, x);
}
}
}
}
.
여기에있는 코드의 수정 된 예제 http://msdn.microsoft.com/en-us/library/office/jj220045%28v=office.15%29.aspx 자세한 정보와 몇 가지 예제 코드를 얻을 수 있습니다 (특정 뷰를 타겟팅하는 예제).
이를 단일 필드에 첨부하고 POSTRENDER를 실행하여 해당 필드 등 모든 렌더링에서 실행됩니다.
newform 또는 editform 만 JSLink를 대상으로하는 방법은 다음과 같은 다른 답변을 참조하십시오. SharePoint 2013에서 JSLink를 사용하여 목록의 NewForm.aspx 사용자 정의