Javascript 在Sharepoint工作流表单中,单击“开始”或“取消”后如何关闭表单

Javascript 在Sharepoint工作流表单中,单击“开始”或“取消”后如何关闭表单,javascript,sharepoint,sharepoint-2010,sharepoint-designer,Javascript,Sharepoint,Sharepoint 2010,Sharepoint Designer,更清楚地说,我正在尝试修改Sharepoint自动生成的表单,您可以在Sharepoint Designer中的“工作流->您的工作流->表单”下看到该表单 默认情况下,会给您两个按钮,分别是“开始”和“取消”,这两个按钮可以自我解释,start启动工作流,cancel不执行任何操作 单击任一按钮后,在后台进行处理,但在UI上没有任何交互操作(我希望它返回sharepoint列表并刷新数据或至少关闭表单)。如何关闭表单?按钮背后的代码是 <td nowrap="nowrap" clas

更清楚地说,我正在尝试修改Sharepoint自动生成的表单,您可以在Sharepoint Designer中的“工作流->您的工作流->表单”下看到该表单

默认情况下,会给您两个按钮,分别是“开始”和“取消”,这两个按钮可以自我解释,start启动工作流,cancel不执行任何操作

单击任一按钮后,在后台进行处理,但在UI上没有任何交互操作(我希望它返回sharepoint列表并刷新数据或至少关闭表单)。如何关闭表单?按钮背后的代码是

<td nowrap="nowrap" class="ms-vb">
    <input type="button" value="Start" name="btnSave" onclick="javascript: {ddwrt:GenFireServerEvent(concat('__insert;__commit;__redirectsource;__redirectToList={',ddwrt:EcmaScriptEncode($ListName),'};'))}" />
</td>
<td nowrap="nowrap" class="ms-vb" width="99%">
    <input type="button" value="Cancel" name="btnCancel" onclick="javascript: {ddwrt:GenFireServerEvent(concat('__cancel;__redirectsource;__redirectToList={',ddwrt:EcmaScriptEncode($ListName),'};'))}" />
</td>

即使内置javascript上有一个重定向列表参数,我也不会重定向。有没有已知的解决方法?或者我做错了什么

编辑-第一个问题现已解决

但我仍然有一个小问题,因为我不知道如何动态(不是硬编码)传递TemplateID和ListID。对于ItemID,我使用工作正常的{ItemID}。为了进一步说明我的意思,请参见下面的截图和评论


您是否尝试过将工作流表单ASPX页面传递给
URL参数


例如:
../MyWorflowPage.aspx?来源=http://sharepointserver/site/

自动生成页面后,您可以编辑该页面吗?看起来这样可以解决问题,它的标题指向正确的方向。现在我有另一个问题,我使用您的解决方案使其工作,但我手动传递了查询字符串,现在我如何动态获取ListID和模板ID,就像使用{ItemID}的ItemID一样工作,但是如果我使用{ListID}和{TemplateID}它不工作,有什么想法吗?Raymund,您在哪里使用{ItemID}、{ListID}和{TemplateID}为什么?你不能把这些值硬编码到链接中吗?(很抱歉,这可能是一个愚蠢的问题,因为我无法访问2010)嗨,Kit,感谢上面的回复,非常感谢。我使用这些,因为如果我省略了一个,那么就会发生错误。ItemID用于定义在哪个项目上运行工作流的项目本身,Template ID是工作流的模板ID,List ID定义项目所在的列表。现在我只是硬编码,但我想问的是,我们是否可以动态定义它,就像ItemID在解决方案中的工作方式一样(你知道我的意思)。我在上面为Clarity添加了一个屏幕截图在谷歌搜索了很多之后,我终于能够找到这个页面:。但是,该页面的SharePoint 2010版本不包含URL标记。看起来您可能可以使用{ListID},但我没有看到任何关于{TemplateID}的提及。我想你可能需要把它们硬编码。。。