Sharepoint列表重定向与新ID

The*_*ire 5 sharepoint sharepoint-designer

我在Sharepoint中有一个列表,使用自定义新表单我添加了自定义列表表单控件(列表的"新项目表单")并将SaveButton更改为标准输入HTML按钮,并添加了一个'onclick'事件,即如下:

onclick="javascript: {ddwrt:GenFireServerEvent('__commit;__redirect={NewFormWizard2.aspx?id=}')}"
Run Code Online (Sandbox Code Playgroud)

这与保存数据和重定向到NewFormWizard2.aspx?id = page一样.

如何获取要传递到重定向页面的已创建项目的ID?

因此,一旦表单完成,它将重定向到NewFormWizard2.aspx?id = 23

The*_*ire 0

找到了一种使用纯 javascript (JQuery) 和来自http://darrenjohnstone.net/的 SPAPI 代码的方法。

该列表包含两个字段,title 和 BodyCopy

我创建了一个表单,要求输入标题和问题(两个文本字段),然后提交按钮调用以下函数:(请注意,ServerAddress 和 LIST_question 需要更新为您自己的详细信息)。

然后,该函数使用 LISTS.ASMX 中的 SOAP 服务上传详细信息,并使用响应获取新项目的 ID 并重定向页面。

var LIST_question = '{xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}';
var ServerAddress = 'http://xxx/';

function submitQuestion()
    {
    var title = new String($("#title").val());
    var t = new String($("#question").val());
    t=t.trim();
    if(t=="")
        return;

    title=title.trim();
    if(title=="")
        return;


    var lists = new SPAPI_Lists(ServerAddress) ;
    // 
    var newItem = { Title :  title, BodyCopy : t};
    var items = lists.quickAddListItem(LIST_question, newItem); 
    var id=-1; 
    if (items.status == 200) 
    { 
        var rows = items.responseXML.getElementsByTagName('z:row');
        if(rows.length ==1)
        {
            var r = rows[0];
            var id = r.getAttribute('ows_ID'); 
            window.location.href='DispForm.aspx?ID='+id;

        }
        else
        {
            alert("Error: No row added");
        }


    } 
    else
    { 

        alert('There was an error: ' + items.statusText); 
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)