有人在我们的网站上填写表格并单击“提交”后,他/她将被定向到登陆页面。我想更改该流程,以便在提交时 (1) URL1 作为新窗口打开; (2) 用户从当前表单页面重定向到 URL2。
你能帮忙吗?
当前代码片段 -
if(! isset($RedirectOnSuccess))
$RedirectOnSuccess = 'oldURL';
我是一名技术新手,因此需要您的帮助来将其拼凑起来。我正在使用 MODx,网页本身使用以下内容调用 php 脚本 - [!FORM_SNIPPET? &RedirectOnSuccess=旧网址 !]
这可能取决于弹出窗口的上下文,但您可能会考虑使用侵入性较小且易于拦截广告的内容,而不是使用传统的弹出窗口,例如 lightbox 或页面内其他基于 ajax 的显示工具。您可以通过提交按钮上的单击事件触发灯箱,用它显示您的消息,然后在关闭或确认时提交表单。
避免查看表单结果页面依赖于 JavaScript 的解决方案,因为某些(不常见)用户可能会禁用它。如果按照上面的方式实现,这些用户会错过您的弹出窗口,但表单仍然会通过。
您可以使用 jQuery 来实现此功能,而无需修改 MODx 用于生成表单的 php 代码,而是通过将 javascript 放入 xhtml 标头中,将单击事件附加到表单的提交按钮。例如:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script src="/colorbox/jquery.colorbox.js"></script>
<script type="javascript">
$("#FormID.input[type=submit]").click(function(e) {
/* prevent form from submitting */
e.preventDefault();
e.stopPropagation();
/* on colorbox close, submit form */
$(document).bind('cbox_close', function(){
e.submit(); // submit the form on close
});
/* open the colorbox */
.colorbox({href:"http://example.com/url1"});
});
</script>
我在这里使用了ColorBox,但同样的想法应该适用于其他灯箱替代品。我没有在浏览器中对此进行测试,因此请务必根据需要进行测试和调整。
考虑到弹出窗口拦截器的问题,您最好的选择是在表单上传时使用 HTML 定位新窗口。
<form target="_blank">
然后使用 JavaScript(可能通过弹出窗口中的
opener.location.href
),您可以将主窗口重定向到另一个 URL。
https://www.somewhereinblog.net
破解网站。百万美元的生意可以从这个网站找到