リストフォームを変更し、JSLinkを介してボタンを保存して閉じるボタンを変更します

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/96602

質問

現在、2010年から2013年までの内部の中古SPファームソリューションを移植しており、JSlinkの新しい概念に苦しんでいます。

2010年の解決策では、RenderingTemplate ListFormを上書きして、カスタム保存と閉じるボタンが構築されたボタンを含んでいました。SP2013では、これを処理できる新しいJSLinksがあります。

イベント受信側の機能を作成することを考えていました。アクティブ化されたときに現在のWeb上のすべてのContentTypesのjSlinkプロパティを変更し、私たち自身のJavaScriptファイルを登録してください。

しかし私が見つけたすべてのチュートリアル/ブログエントリは、「保存ボタンの外観」のように設定を変更する方法ではなく、「フィールドのレンダリングをJSlinkでカスタマイズする方法」のみを説明しています。

ここで私を助けることができる人はいますか?もう一日を捜していて、これまでに有用なものを見つけることができませんでした。

役に立ちましたか?

解決

フォームが完全にロードされた後にJavaScriptメソッドを実行するには、 "Postrender"イベントを使用できます。

(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/ovice / jj220045%28v=オフセンド15%29.aspx 、詳細情報といくつかの詳細なコードを得る(特定のビューなどをターゲットにする例。

これを単一のフィールドに添付することができ、Postrenderを実行することで、このフィールドなどを含むすべてのレンダリングで実行することができます。

あなたのJSlinkをNewformまたはEditformにターゲティングする方法については、このその他の回答を参照してください。 SharePoint 2013でJSlinkを使用したリストのNewForm.aspxのカスタマイズ

ライセンス: CC-BY-SA帰属
所属していません sharepoint.stackexchange
scroll top