我使用表單和一些必填字段創建離子應用程序。
當表單被提交時,如果它無效,我使用Ionic的$ ionicPopup服務顯示一條警報消息。
我的問題是:用戶可以按下「ENTER」或(在Android內的「Go」按鈕)來調用表單提交併關閉導致另一個彈出窗口打開的彈出窗口。
你可以看到這個發生在這裏:
焦點輸入,按ENTER鍵並顯示錯誤消息時,再次按ENTER鍵關閉它。另一個彈出窗口將打開(很可能是因爲背景背後的輸入仍然有焦點,或者可能是因爲模式是在表單內創建的 - 使ENTER再次提交提交)。
有什麼辦法可以避免這種行爲?也許在$ ionicPopup中的ENTER會在不提交表單的情況下關閉它,或者至少有一些代碼在顯示新的表單之前關閉任何活動的彈出窗口?因爲當您打開多個彈出窗口時,如果您嘗試使用鼠標(或點擊)關閉消息,系統會提示用戶關閉所有其他對話框,然後再將其發送回主屏幕。
我知道我可以嘗試獲取對彈出窗口的引用並調用close()方法,但它對我來說並不適用。最終,新警報在前一個完全關閉之前打開,並且背景永遠卡在屏幕上。
感謝您的幫助。
你需要從控制失去焦點,所以當按下輸入將回應僅警告 –
我已經發現它不起作用。事實證明,實際的問題是彈出不能通過按回車來關閉。當我第二次按下輸入時,我實際上再次提交表單。因此打開另一個彈出。而我正在努力將焦點從表單中移除,因爲除了表單控件(例如登錄頁面)之外,我的頁面沒有任何可見的控件。 –