繁体   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