Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单提交后无法阻止页面重定向_Javascript_Jquery_Sharepoint_Sharepoint Online - Fatal编程技术网

Javascript 表单提交后无法阻止页面重定向

Javascript 表单提交后无法阻止页面重定向,javascript,jquery,sharepoint,sharepoint-online,Javascript,Jquery,Sharepoint,Sharepoint Online,我正在使用Sharepoint online 2015。在创建列表项期间,我需要保存列表项并将页面重定向到已创建列表项的EditForm.aspx,而不是AllItems.aspx 以下是按钮的html代码: <button type="button" id="idSaveProceed">Save & Proceed</button> 但是当执行代码if(SPClientForms.ClientFormManager.SubmitClientForm('WPQ

我正在使用Sharepoint online 2015。在创建列表项期间,我需要保存列表项并将页面重定向到已创建列表项的EditForm.aspx,而不是AllItems.aspx

以下是按钮的html代码:

<button type="button" id="idSaveProceed">Save & Proceed</button>
但是当执行代码
if(SPClientForms.ClientFormManager.SubmitClientForm('WPQ2'))
时,页面重定向发生在AllItems.aspx上。我甚至在
WebForm\u DoPostBackWithOptions
中提供了自定义url。但在代码执行之前,页面会被重定向

我尝试过使用
event.preventdefault()
,但没有用

请让我知道我缺少什么。提前谢谢


注意:我不想使用InfoPath。我只需要jQuery中的一个解决方案来处理这个问题。

您正在客户经理声明中发布表单

这将调用服务器端代码,而不会转到下一行


您可以使用Ajax调用发送表单post调用,然后重定向页面

您正在客户经理对账单中发布表单

这将调用服务器端代码,而不会转到下一行


您可以使用Ajax调用发送表单post调用,然后重定向页面

只需在单击事件结束时返回false

$("#idSaveProceed").click(function(event){
if (!PreSaveItem()) return false;
if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')) return false;
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", "", false, true));return false;});

只需在单击事件结束时返回false

$("#idSaveProceed").click(function(event){
if (!PreSaveItem()) return false;
if (SPClientForms.ClientFormManager.SubmitClientForm('WPQ2')) return false;
WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(elementName, "", true, "", "", false, true));return false;});

您还需要更新

    < form id="aspnetForm" action="< url >?Source=...">
?Source=…”>
源参数

查看此url。


但我只是好奇,您将如何获得新提交的项目id?

您还需要更新

    < form id="aspnetForm" action="< url >?Source=...">
?Source=…”>
源参数

查看此url。


但我只是好奇,您将如何获得新提交的项目id?

您是否将event.preventDefault添加为第一条语句?是的,我添加了。它现在已更新。是否在表单标记中设置URL?event.preventDefault()是否将event.preventDefault添加为第一条语句?是的。它现在已更新。是否在表单标记中设置URL?event.preventDefault()我需要在提交之前验证表单。在ajax调用中如何像在代码中那样实现这一点?敬请告知。您可以使用客户端库,如jQuery验证库,也可以将结果传递回调用的Ajax函数。我需要在提交之前验证表单。在ajax调用中如何像在代码中那样实现这一点?敬请告知。您可以使用客户端库,如jQuery验证库,也可以将结果传递回调用Ajax函数。