2012-04-03 81 views
2

我已經通過AJAX(默認配置,我沒有更改任何內容)提交了POST表單的簡單簽名。當用戶提交錯誤數據時,將加載以下頁面:什麼是在jQuery Mobile中顯示錯誤的標準方式

<div data-role="page" id="main_mobile_page"> 

    <div data-role="header" data-id="fixed_header" data-position="fixed"> 
     ... 
    </div> 

    <div data-role="content"> 
     ...display:none DIV with the text of error... 
     ...sign in form... 
    </div> 

    <div data-role="footer" data-id="fixed_footer" data-position="fixed"> 
     ... 
    </div> 

</div> 

什麼是顯示帶有錯誤的彈出窗口的標準和最簡單的方法。我已經嘗試過一些實現,包括原生jQuery Mobile對話框(我生成了一個單獨的「頁面」,它有錯誤文本並轉換爲它)和插件,如SimpleDialog。所有的實現有問題,通常的問題是:當你點擊「OK」對話框中的按鈕(即數據的rel =「背」不順利)

  • 一些隨機發生。可能是因爲表單是通過POST提交的。

  • 當jQuery Mobile通過AJAX加載頁面時,它有時會隱藏舊頁面,而不是清除頁面,最終導致擁有多個id =「main_mobile_page」頁面的HTML,因此無法正確定位錯誤的框。

jQuery Mobile是否有一些等價的JS的alert()只是顯示錯誤,沒有過分複雜的事情和處理它作爲一個單獨的頁面加載?如果不是,實現這種「錯誤」彈出窗口的標準方式是什麼?最終我想用PhoneGap編譯這個,我希望它能夠拾取這個「alert-s」並將它轉換爲特定手機型號的本機「錯誤彈出窗口」。

+0

你可以做一個JS'alert()'。 – ceejayoz 2012-04-03 19:05:09

回答

3

你爲什麼不使用phonegap通知?

navigator.notification.alert(
    'Please try again', // BODY COPY 
    alertConfirm, // CALL BACK FUNCTION 
    'Oops something went wrong!', // TITLE 
    'OK' // BUTTON TEXT 
); 

navigator.notification.confirm(
    'Please try again', // BODY COPY 
    alertConfirm, // CALL BACK FUNCTION 
    'Oops something went wrong!', // TITLE 
    'LAME, TRY AGAIN' // BUTTON TEXT 
); 

,你將需要有作爲一個回調函數 - 如果你做了確認,你可以檢查被點擊了哪個按鈕,並執行基於該操作。

function alertConfirm(b){ 
    if(b == 1){ 
    // BUTTON 1 WAS CLICKED 
    } 
    else { 
    // BUTTON 2 WAS CLICKED 
    } 
} 
+0

謝謝,那看起來像我所需要的! – Eugene 2012-04-04 14:58:12

相關問題