簡體   English   中英

通過rest api或jsom更新Infopath表單庫值?

[英]Update Infopath Form Library values through rest api or jsom?

是否可以通過 rest api 或 JSOM 以編程方式更新 infopath 表單庫字段值? 如果可以,你能提供樣品嗎?

我已經嘗試了兩種方法,兩次我都收到成功消息,盡管在我查看表單的那一刻,我只是嘗試更新值保持不變。

<script>
  
    //Retrieve list items from sharepoint using API  
    function GetSampleListItems() {  
        siteURL = _spPageContextInfo.webAbsoluteUrl;  
        console.log("from top nav - " + siteURL);  
        var apiPath = _spPageContextInfo.webAbsoluteUrl +"/_api/lists/getbytitle('Training%20Copy')/items/getbyid(9)";  
        $.ajax({  
                url: apiPath,  
                type: "POST",  
                headers: {  
                    Accept: "application/json;odata=verbose"  
                },  
                data: JSON.stringify
                ({
                    __metadata:
                    {
                        type: "SP.Data.Training_x0020_CopyItem"
                    },
                    Position: "Show"
                }), 
                headers: {  
                "Accept": "application/json;odata=verbose",
                "Content-Type": "application/json;odata=verbose",
                "X-RequestDigest": $("#__REQUESTDIGEST").val(),
                "IF-MATCH": "*",  
                "X-HTTP-Method": "MERGE" 
            }, 
            async: false, success: function(data) {  
                alert("Item updated successfully");  
            }, eror: function(data) {  
                console.log("An error occurred. Please try again.");  
            }
        })   
    
    }
</script>

<button onclick="GetSampleListItems();" type="button">Click me​</button>

我不是程序員,也不了解 API,但 InfoPath 表單庫中的文檔只是帶有花哨擴展名的 XML 文本文件。 InfoPath 基本上是一個強大的 XML 編輯器。 應該可以使用任何可以繞過 XML 層次結構的文本編輯方法來更改這些文件中的值。

但請注意,InfoPath 表單界面中的處理邏輯可用於在顯示或編輯表單時操作表單中的數據。 例如,數據驗證或某些字段值根據其他字段的值自動設置。 因此,僅通過后端修改字段值可能會導致不良結果。 這也可能是您看不到已應用更改的原因。

暫無
暫無

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

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