문제

현재 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 사용자 정의

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top