簡體   English   中英

Jquery和sharepoint,試圖從一個字段中獲取一個值,並將其放入另一個字段中

[英]Jquery and sharepoint, trying to get a value from a field, and put it into another field

所以我有一個奇怪的問題,我試圖從一個名為 name 的文本字段中獲取值並將其放入另一個名為 title 的字段中。 它根本不起作用。

基本上,我一直在這樣做:我正在使用的字段值是從字段的 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 不是最好的,我真的不認為這應該那么難。

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

如果FileLeafRef是字段標題,則應該可以正常工作。 但是您需要將此腳本添加到“文檔上載”表單中,因為從對Thriggle問題的回答中,我不確定代碼是否在正確的位置運行。

終於找到了解決方案! 它基於此網站: 將值設置為TextBox字段

您必須遵循的重要步驟:

  1. 轉到列表設置>高級設置>在對話框中顯示表單(設置為false);
  2. 返回列表並單擊以添加新項目;
  3. 此時,單擊以編輯頁面,然后添加腳本WebPart。
  4. 現在,只需復制並粘貼以下代碼( 您必須添加表單的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() { $.ajax( { url: "http://yourSharepointSite/_api/SP.UserProfiles.PeopleManager/GetMyProperties?$select=Email", method: "GET", headers: { "accept": "application/json;odata=verbose" }, success: function (data) { var result = data.d; 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(); window.console && console.log(userMail); }, error: function (err) { alert(JSON.stringify(err)); } }); }); </script> 

請不要忘記在元素上使用.focus(),因為這將顯示新插入的數據!

最后,您可以將列表設置為以對話框模式顯示!

我認為問題在於作為字段名稱的一部分包含的 $。 jQuery 將它們解釋為不同變量的開始(我認為),因此不會解決您期望的領域。 我找到的解決方案是模式匹配僅適用於小 forms 的名稱,其中列的名稱沒有沖突,當然您需要考慮如果表單進一步發展將來可能會發生什么。

無論如何,如果您想嘗試一下,我認為以下方法可行:

<script type="text/javascript" src="https://secureteams.app.aexp.com/sites/fiucmc/SiteAssets/jquery-3.1.0.min.js">
// getting the field
 var email = $('input[id^="FileLeafRef"]').val();

// setting the value
$('input[id^="Title"]').val( email );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM