我的客戶端使用Magento,點擊提交按鈕後,表單提交給控制器,然後重新加載相同的頁面。他問我的是他點擊提交按鈕,他想顯示一個彈出窗口。所以我用一個具有禁用背景的div作爲動態方式(JavaScript)的彈出窗口,但由於按鈕是「submitting」,頁面刷新並且我失去了彈出窗口,因此即使提交後也可以保持該div顯示?提交頁面後保持彈出狀態
回答
jQuery的例子:
$(document).ready(function(){
$('#form_selector').submit(function(){
showDialog();
//stop submit
return false;
});
$('#dialog_button_selector').click(function(){
//submit form
$('#form_selector').submit();
});
});
謝謝你的回答,但我不想保留提交,直到我點擊彈出窗口,這不是一個確認彈出窗口,這是一個電子商務網站彈出窗口顯示客戶購買產品的詳細信息以及一些其他的鏈接頁面,我需要提交發生,以便將產品添加到購物車,並且我希望在提交後仍然保留彈出窗口,就像如果網站被禁用只是該彈出窗口是actif。 – Rad 2011-04-08 21:22:42
我不熟悉磁,但總體來講,可能不是你找一個表單提交的控制器時,頁面重新加載,並呼籲彈出,如果屬實?
我希望我能找到控制器!我會立即刪除該重定向指令!我也沒有進入框架......而這個MVC很難遵循。我曾嘗試在會話上存儲值,然後當頁面重新加載時,我在會話中顯示帶有數據的DIV,但是我遇到了另一個問題,一些數據是客戶端,我無法將它們存儲到會話中,並且我無法將它們發佈爲告訴你,不想搗亂magento核心。這聽起來很複雜/愚蠢,但是我一直試圖做什麼或者我腦子裏有什麼是div在提交之前/之後顯示。 – Rad 2011-04-08 21:26:05
爲什麼不使用滑動面板而不是彈出面板?
例如,檢查的Magento的isLoggedin
功能:滑動板內的客戶
<?php
if ($this->helper('customer')->isLoggedIn()) {
echo "Welcome!";
} else {
echo "Please log in.";
}
?>
如果客戶登錄,顯示必要的信息。
如果你想只是一個時間顯示此面板,嘗試的Magento的事件觀察方法:
應用程序/代碼/核心/法師/客戶/型號/ session.php文件
事件名稱:
- customer_login
- customer_session_init
對於JQ使用滑動面板,您可以使用支持showOnLoad
屬性的jqEasy。
客戶登錄後彈出窗口不顯示,但他點擊「添加產品」後顯示。它只是一個div在同一頁面內。其目的是顯示所購產品的詳細信息,名稱,價格和數量,以及一些鏈接。因此,一旦客戶點擊按鈕,形成光芒,並且由於控制器重定向到其他頁面,我失去了該彈出窗口。 – Rad 2011-04-09 14:58:46
既然你不想持有提交的頁面,你基本上需要呼應頁面提交後彈出。因此,使用一些通用的事件(catalog_product_add_to_cart_after
),添加一個會話變量是這樣的:
public function observer($event) {
Mage::getSingleton("customer/session")->setNeedsCartPopup(true);
}
然後,在你的模板,你可以檢查這個變量的存在,以顯示你的彈出:
$session = Mage::getSingleton("customer/session");
if($session->getNeedsCartPopup()) {
$session->->setNeedsCartPopup(false);
// echo HTML to display popup as the page loads
}
這不是經過測試的代碼,但它應該爲您提供如何捕獲事件並在模板中對其進行響應的要點。希望有所幫助!
謝謝, 喬
- 1. ASP MVC 5 - 保持頁面重載後@ html.checkbox狀態點擊「提交按鈕」後
- 2. Telerik的MVC分配器保持狀態時,頁面提交
- 3. 」成功保存!「提交後彈出ASP.NET
- 4. 在頂點頁面保持值狀態
- 5. NavCtrl:保持頁面緩存它彈出
- 6. 表單提交按鈕在ajax後保持禁用狀態
- 7. 複選框在刷新/提交後保持檢查狀態,
- 8. html表單在表單提交後保持禁用狀態
- 9. Hadoop YARN作業提交後狀態保持未定義
- 10. ASP.NET MVC:保持最後一頁狀態
- 11. 提交HTML/PHP表單後需要保持彈出div打開
- 12. 頁面模式彈出提交
- 13. 如何在刷新頁面後保持會話活動狀態
- 14. 複選框在頁面刷新後保持檢查狀態
- 15. AngularFire2 - 如何在頁面刷新後保持登錄狀態
- 16. 如何在導航離開後再保持頁面狀態?
- 17. 頁面刷新後保持單擊複選框狀態
- 18. 更新當前頁面URL但保持後退按鈕狀態
- 19. 保持頁面重新加載後表格的擴展狀態
- 20. django註冊頁面國家,提交後的狀態字段
- 21. HTML頁面在表單提交後保持重複
- 22. 保持同一頁面上的表單提交後,用ajax
- 23. APEX 3.2:提交頁面後彈出確認
- 24. 在同一頁面上提交表單後彈出方式
- 25. Javascript彈出窗口提交後頁面加載Coldfusion
- 26. 提交彈出窗體後用AJAX更改頁面內容
- 27. 在jsp中提交頁面後填充彈出框
- 28. 提交後彈出窗口
- 29. 在頁面之間導航時,保持頁面狀態
- 30. 提交表單後,保持同一頁面,在頁面顯示一個單詞
這是東西,可以通過AJAX提交?這將避免離開頁面並保存狀態。 – clockworkgeek 2011-04-08 22:02:43