javascript - SharePoint 在单击时传递文本框的值以更新列表列

标签 javascript java list textbox sharepoint-2013

我在一个 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>

关于javascript - SharePoint 在单击时传递文本框的值以更新列表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59413983/

相关文章:

java - 使用java api在postgres自定义类型字段中插入值

显示 GIF 的 JavaScript 函数

javascript - 意外 token ,如果

javascript - float 计算

java - 运行测试时 UIAutomator 错误

PHP/MySQL : list And explode Multiple Characters

javascript - 诸如 "http://test:<a b>"之类的内容未显示在 IE 的文本区域中

java - 结束 Mac OS X 上正在使用该文件的进程

C# 检查一个列表是否是另一个列表的一部分

python - 排序多个列表的最快方法 - Python