这是用于自定义Editform.aspx用于将数据提交到自定义列表。一旦用户完成表单,他应该能够点击按钮甚至OK按钮,并让sharepoint将表单数据提交到列表,然后重定向到项目显示表单(dispform.aspx?ID ='itemid') 。 我可以通过操作document.location.href来获取当前项的ID。我尝试使用__doPostBack和__commit和__redirect(重定向到URL displayform?ID ='itemid')在javascript中进行回发,但是当重定向发生时,我看到更改没有更新!
任何人都可以做这样的事情吗?
答案 0 :(得分:1)
通过修改Source querystring参数中的URL,您可以使表单在发布后重定向到任何位置。使用javascript,您可以在该querystring参数中查找特定的URL(/location/dispform.asp?ID=),如果它不存在,则将页面重定向到自身,但将Source参数填充到位置w /要发送给他们的ID。
最难的部分是在javascript中解析当前的URL +参数。我发现有一些JS代码片段让它变得容易多了。
以这种方式重写EditForm URL的一个好处是,取消按钮会将用户发送到DispForm页面而不是最初来自的位置,尽管大多数人可能会使用后退按钮。
答案 1 :(得分:0)
这导致我解决了我的DispForm
上的表单操作问题,该问题不会将列表项ID带到自定义EditForm
。以下结果为我工作:
onclick="javascript: {ddwrt:GenFireServerEvent(concat('__redirect={ProgEditForm.aspx?ID=+',$ListItemId,'}'))}"
我DispForm
的{{1}}参数
参数来源:查询字符串
查询字符串变量:ID
默认值:0
希望能帮助别人,因为这让我疯狂!