2012-03-02 16 views
5

、無効なページを読み込むと、読み込みページがうまく表示されないことを示すエラーメッセージが表示されます(フェードアウト)。添付の画像を確認してください。jquery mobile - jquery mobileを使用しているときに "エラー報告ダイアログ"を使用する方法

私はこの独自のカスタムエラーメッセージを報告し、そのやり方をアニメーション化したいと思っています。誰もこれをやる経験がありましたか?

私はダイアログを使わずにいくつかのエラーを報告したいと思いますが、この方法は適切です。 jqueryを使ってこれを行うことができますか?コードを表示してください。カスタムエラーメッセージを表示するために$.mobile.showPageLoadingMsgを使用することができ、最新の1.1.0 RC版でenter image description here

+0

この質問はあなたに役立つはずです:http://stackoverflow.com/questions/8267159/jquery-mobile-how-to-invoke-this-default-error-loading-page-message –

答えて

10

// show error message 
$.mobile.showPageLoadingMsg($.mobile.pageLoadErrorMessageTheme, $.mobile.pageLoadErrorMessage, true); 

// hide after delay 
setTimeout($.mobile.hidePageLoadingMsg, 1500); 
+0

jquery.mobile-1.0を使用して.1.min.jsと失敗します。あなたの質問にコメントとして投稿されたJackieChilesの回答を見る必要があります。 –

+0

1.0.1では、JackieChilesの回答をあなたの質問に投稿する必要があります。 –

+0

Sir Lojik、追加してみてください:$ .mobile.loadingMessageTextVisible = true;あなたのプロジェクトに...メッセージにテキストを表示させます – BorisD

1

あなたはエラーのdivを隠すためにこれを使用することができます。

div.ui-loader.ui-overlay-shadow { display: none !important; } 
2

を私はしました同様の問題がありました。投稿されたフォームを検証した後、検証エラーを表示する必要がありました。だから私はこのコードを書いてきました:

function showErrorMessage(message, $container, delay) { 
    $err = $('<div/>', { 
     id: 'error_message' 
    }); 
    $err.attr('data-role', 'popup'); 
    $err.attr('data-theme', 'e'); 
    $err.attr('data-overlay-theme', 'a'); 
    $err.attr('data-position-to', 'window'); 
    $err.addClass('ui-content'); 
    $err.text(message); 

    $container.children().detach(); 
    $container.append($err); 

    $err.popup(); 
    $err.popup("open"); 

    if(delay > 0) { 
     setTimeout(function() { 
      $err.popup("close"); 
     }, delay); 
    } 
} 

それは、このメッセージが表示されます。 enter image description here

+0

この関数はどのように使われていますか? – Smith

+0

まず、jQmをhtmlファイルにインポートする必要があります。次に何かがうまくいかない場合は、 'showErrorMessage(" uuups! "、$( '#error')、1000); と1秒間このポップアップが表示されます。 3月よりこのプロジェクトを見たことがないので、もっと何かがあるかどうかわかりません –

2

一つの簡単な解決策は次のようになります。

function show_error_message(message, delay) { 
    $.mobile.loading('show', 
        { theme: "e", text: (message || 'ERROR'), 
         textonly: true, textVisible: true }); 
    setTimeout(function() { 
     $.mobile.loading('hide'); 
    }, ((delay && delay > 0) ? delay : 1000)); 
} 

使用法:

show_error_message("Wow!!!", 1500); 

メッセージWow!!!がウィンドウの中央に表示されます。

+0

これはjqm 1.4で私にとってはうまくいくようです。受け入れられた答えはうまくいかなかったようです。 – bowerm

関連する問題