Sharepoint:从“编辑”表单提交表单数据,然后重定向到显示表单

时间:2009-11-12 20:43:08

标签: javascript sharepoint-2007 sharepoint-designer

这是用于自定义Editform.aspx用于将数据提交到自定义列表。一旦用户完成表单,他应该能够点击按钮甚至OK按钮,并让sharepoint将表单数据提交到列表,然后重定向到项目显示表单(dispform.aspx?ID ='itemid') 。 我可以通过操作document.location.href来获取当前项的ID。我尝试使用__doPostBack和__commit和__redirect(重定向到URL displayform?ID ='itemid')在javascript中进行回发,但是当重定向发生时,我看到更改没有更新!

任何人都可以做这样的事情吗?

2 个答案:

答案 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

希望能帮助别人,因为这让我疯狂!