這可能取決於彈出窗口的上下文,而不是使用傳統的彈出窗口,您可能會考慮一些侵入性較小且易於出現廣告攔截的東西,例如頁面中的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,但同樣的想法應該適用於其他燈箱的替代品。我沒有瀏覽器測試這個,所以一定要根據需要進行測試和適應。
PHP無法控制打開新的瀏覽器窗口。 – 2011-05-09 22:09:54
我是一名技術新手,所以需要你的幫助將它拼在一起。我正在使用MODx,網頁本身使用以下命令調用php腳本 - [!FORM_SNIPPET? &RedirectOnSuccess ='oldURL' !] – qANDa 2011-05-09 22:18:46