2016-07-21 11 views
0

私は奇妙な問題がある、私は名前のテキストフィールドから値を取得し、タイトルと呼ばれる別のフィールドに入れようとしています。それはまったく動作していません。Jqueryとsharepoint、フィールドから値を取得しようとし、別のフィールドに入れよう

基本的には、私はこれをやっています: 私が使用しているフィールド値は、フィールドのid部分から取得しました。

<script type="text/javascript" src="https://secureteams.app.aexp.com/sites/fiucmc/SiteAssets/jquery-3.1.0.min.js"> 
    // getting the field 
    var email = $("#FileLeafRef_8553196d-ec8d-4564-9861-3dbe931050c8_$onetidIOFile").val(); 

    // setting the value 
    $("#Title_fa564e0f-0c70-4ab9-b863-0177e6ddd247_$TextField").val(email); 

    </script> 

与えられた私はJQueryで最高ではありません、私は本当にこれは難しいとは思わない。

+0

ここでは何が文脈ですか?このコードはいつ実行され、その時点で関連するHTMLの外観は何ですか? – Thriggle

+0

このコードは、ユーザーがドキュメントをSharePointにアップロードする必要があるときに実行されるコンテンツエディタwebpartにあります。タイトルフィールドは、ユーザーが自動的にアップロードしているドキュメントから取得されるので、そのフィールドの値を取得して名前フィールドに追加しようとしています。あなたが何を求めているのか分からない限り、HTMLはそのままです。 – Mike

答えて

0
var email = $("input[title='FileLeafRef']").val(); 
$("input[title='Title']").val(email); 

は、FileLeafRefがフィールドタイトルであればうまく動作します。しかし、このスクリプトをドキュメントアップロードフォームに追加する必要があります。なぜなら、Thriggleの質問に対する答えから、コードが適切な場所で実行されているかどうかわからないからです。

+0

だから、私はSharePointデザイナーのワークフローを使ってそれを行う別の方法を見つけました。しかし、ちょうどfyi ...コードがうまく動作せず、コードが正しい場所で実行されていると、アラート(「Hello World」)が表示され、それが表示されました。助けてくれてありがとう。 – Mike

+0

マイクは、少なくともあなたが提出した名前とタイプを提供するまで、誰もあなたにコードを書いてくれる人はいません:)これは現実に適応したはずの例です。 – AndreyBizin

0

最後に解決策を見つけました。 それは、このウェブサイトに基づいていた:Setting value to TextBox field

重要なステップは、あなたが従わなければならない:

  1. ゴーリストの設定に>詳細設定>ダイアログの表示形式は、(偽に設定)。
  2. リストに戻ってクリックして新しいアイテムを追加します。この時点で
  3. 、ページを編集して、
  4. スクリプトWebパーツを追加するためにクリック今だけ、次のコードをコピーして貼り付け(あなたは、フォームのIDを追加する必要があり、私はちょうど例を使用しています)

<script language='javascript' type='text/javascript' src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<script> 
 
$(document).ready(function() 
 
{ 
 
\t $.ajax(
 
\t { 
 
\t \t url: "http://yourSharepointSite/_api/SP.UserProfiles.PeopleManager/GetMyProperties?$select=Email", 
 
\t \t method: "GET", 
 
\t \t headers: 
 
\t \t { 
 
\t \t \t "accept": "application/json;odata=verbose" 
 
\t \t }, 
 
\t \t 
 
\t \t success: function (data) 
 
\t \t { 
 
\t \t \t var result = data.d; 
 
\t \t \t var userMail= result.Email; 
 

 
         var textBoxCurrentUserEmail = $("#ctl00_ctl33_g_58328422_c761_4475_a673_5c3f263a5dab_FormControl0_V1_I1_T3"); 
 
         var textBoxIsAuthor = $("#ctl00_ctl33_g_58328422_c761_4475_a673_5c3f263a5dab_FormControl0_V1_I1_T4"); 
 

 
         textBoxCurrentUserEmail .val(userMail); 
 
         textBoxCurrentUserEmail .focus(); 
 
         textBoxIsAuthor .focus(); 
 
\t \t \t window.console && console.log(userMail); 
 
\t \t }, 
 
\t \t 
 
\t \t error: function (err) 
 
\t \t { 
 
\t \t \t alert(JSON.stringify(err)); 
 
\t \t } 
 
\t }); 
 
}); 
 
</script>

これは新しい挿入DATを表示しようとしているので、あなたの要素に().focusを使用することを忘れないでくださいa!

結論として、その後でダイアログモードとして表示するように設定することができます。

関連する問題