单击鼠标右键以更新列表列的文本的SharePoint传递值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击鼠标右键以更新列表列的文本的SharePoint传递值相关的知识,希望对你有一定的参考价值。

我在一个SP页面上有一个文本框。单击提交按钮后,我需要将数值/输入发送到列表中的一列。我在网上找到了一些零碎的代码,但是没有用。

<table>
<tr>
<td>Shipping</td>
</tr>

<tr>
<td>Domestic:</td>
</tr>

<tr>
<td><input id="domesticshippinginput" name="domesticshippinginput" 
type="textbox" /></td>
<td><input name="ADD" id="btnADD" type="submit" value="Submit" /></td>
</tr>

</table>


<script language="javascript" type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(updateListItem,'sp.js'); 

function updateListItem() {
var clientContext = new SP.ClientContext.get_current();
var list = 
clientContext.get_web().get_lists().getByTitle('CurrentTimeFrame');
var domesticshipping = list.getItemById(1);
listItem.set_item('days', domesticshippinginput);
listItem.update();
clientContext.executeQueryAsync(Function.createDelegate(this, 
this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed)
);
}

function onQuerySucceeded() {
alert('Item updated successfully!');
}

function onQueryFailed(sender, args) {
alert('Could not update item: ' + args.get_message());
}
</script>

其中CurrentTimeFrame是列表的名称,domesticshipping是该行的标题的名称,days是我需要写入的列表中的列。国内运输是列表中的第一项。所有代码均编码在同一代码段中(不确定是否重要)。

答案

您可以使用rest api创建/更新SharePoint列表项。

通过jQuery获取输入值。demo thread

例如:

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script type="text/javascript">
        function CreateItem() {
            $.ajax
                ({
                    url: _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('TestList')/items",
                    type: "POST",
                    data: JSON.stringify
                        ({
                            __metadata:
                            {
                                type: "SP.Data.TestListListItem"
                            },
                            Title: $('#txtTitle').val()
                        }),
                    headers:
                    {
                        "Accept": "application/json;odata=verbose",
                        "Content-Type": "application/json;odata=verbose",
                        "X-RequestDigest": $("#__REQUESTDIGEST").val()
                    },
                    success: function (data, status, xhr) {
                        window.location.href = _spPageContextInfo.webAbsoluteUrl + "/Lists/TestList/EditForm.aspx?ID=" + data.d.Id + ""
                    },
                    error: function (xhr, status, error) {
                        console.log(data.responseJSON.error);
                    }
                });
        }

    </script>
    <div>
        Title:
        <br />
        <input type="text" id="txtTitle" />
        <br />
        <input id="Button1" onclick="CreateItem()" type="button" value="button" />
    </div>

以上是关于单击鼠标右键以更新列表列的文本的SharePoint传递值的主要内容,如果未能解决你的问题,请参考以下文章

如何从鼠标右键单击获取文本?

如何设置secureCRT的鼠标右键为弹出文本操作菜单功能

excel中怎么单独增加某一列

要怎么在右键加一些新建文件夹,文本,word ,excel,啥的,我在那个优化大师里看不见增加新建文件夹,

MFC 中,按钮和其他(比如:图片框、列表框)控件怎么响应鼠标移动消息?

C#怎么判断是鼠标左键单击还是右键单击?