0

私はSharepoint Online/365でいくつかの仕事をしていて、値を設定しようとしていますNewForm.aspx

内のルックアップまたは選択肢列の私は

//Phase being a Choice Column & Closure a case sensitive valid option 
$("select[title='Phase']").val("Closure"); 
//ProjectName being a Lookup Column & Test2 a case sensitive valid entry in the list 
$("select[title='ProjectName']").val("Test2"); 

Iまでの私のページにコードを単純化している

検索/選択列を設定することができないまで私の問題を狭め次のコードは私が作成したテキストフィールドで正常に動作するので、テキストフィールドの設定に問題はありません

$("input[title='TextField']").val("Test2"); 

私は、次のjQueryライブラリを1.7.2/min.js、あなたのロジックのため_spBodyOnLoadFunctionNames.push()メソッドを使用するかどうかわからない1.11.3

+0

'$(select [title = 'Phase']") 'は動的に作成されているのですか? –

+0

私は、ページが読み込まれたときに、あまりにも確かではないが、スクリプトがsharepoint用のスクリプトエディタwebpartまたはスクリプトを含むtxtファイルを参照するコンテンツエディタwebパートのいずれかを介して追加されると思います。私は両方のスクリプトを試しました – Paul

+0

DOMがロードされた後で作成されている場合(元のDOMの一部ではないので、 '$(document).find(" select = title –

答えて

0

最初に "Verona Chen"と "DIEGO CARRASCAL"と言いました。私は他のプロジェクトに役立ついくつかの他のテクニックをSharePointで学んだからです。オンラインSharePointと

私の元のスクリプトの質問は(私がここに発見した私は、コードでのSharePoint 2013に行ってきた)newform.aspxのフィールドを移入するクエリ文字列を使用しようとしていた前

Unforuntaly/365このコードはもはや機能しませんでした。

このコードは、これは私が内訳全体の問題私がしようとしていたとして、これは直接(上記の質問に答えていない場合

Appologiesを(それはいくつかの以前のページが構築されている方法を変更んが)私の問題を修正しました私の元のコードで問題を絞り込んで、よりシンプルで扱いやすいものになっていました)。しかし、私が今稼働しているので、結果を投稿するのは丁寧なようです。

コードの前に、私は "ProjectName"フィールドを持つプロジェクトリストを持っています。フィールド名をURLとクエリーストリングに送信してmylist/newform.aspxを取得しましたか?ProjectName = Test2

私はそのTest2を(プロジェクトリストに好きな)検索フィールドにプルしようとしていました。リスト "MyList"

しかし、私の古いスクリプトの関数を_spBodyOnLoadFunctionNames.push()で読み込んでも機能しませんでした。

しばらくの間、いくつかの周りを探した後、これを再生した後、私はこれは私が私の以前のURLはマイリスト/ newform.aspx?ProjID =を作成するためのビルド変更する必要があることを意味

<script type="text/javascript"> 

(function() { 
var ctx = {}; 
ctx.Templates = {}; 
ctx.Templates.Fields = { 
    'ProjectName': { 
     'NewForm': renderTaskCategory 
    } 
}; 
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx); 
})(); 


function renderTaskCategory(ctx) { 
//extract cat parameter from a query string 
var GetProjID = GetUrlKeyValue('ProjID'); 
//set lookup field value 
ctx.CurrentFieldValue = GetProjID; 
//default template for rendering Lookup field control 
return SPFieldLookup_Edit(ctx); 
} 

</script> 

コードのこのpeiceを見つけました2

このスクリプトは、(この場合はtest2はあることを起こる)アイテムID 2を見つけ、それ以前助けたものに

おかげで再び私のルックアップフィールドのプロジェクト名の項目2のタイトルを置きます。 また、私が最初に尋ねた質問にこれが直接的に答えることができない場合、もう一度お詫び申し上げます。

0

を使用していました。通常、すべてのSharePoint DOMオブジェクトがロードされるのを待ってから、jQueryコードを実行する必要があります。 SharePoint JavaScriptライブラリを使用していた場合は、SharePoint .jsファイルがロードされた後に、呼び出しが呼び出されるようにExecuteOrDelayUntilScriptLoaded()を呼び出す必要があります。

+0

ありがとう、私はあなたのコメントから多くを学んだ、私は役に立たないが不幸にも私のランクのために答えを上げた。 私はこの問題は、SPがルックアップ/選択フィールドでデータをどのようにディスパッチするかに関係していると思います。もともと私はnewform.aspxの照会フィールドにクエリーストリングの値を渡したかったのですが、_spBodyOnLoadFunctionNames.push()でスクリプトを実行していても動作していませんでした 私は以前のページデザインを変更してアイテムの代わりにアイテムフィールドをクエリ文字列として使用します。今、タイトル値を取得するには、以下のcewpとスクリプトを使ってそのIDを呼び出します – Paul

関連する問題