1

フォームを含むGrailsアプリケーションがあります。ユーザーがデータを入力して送信し、検証されたら、など。ユーザーにフィードバックを提供するために、小さなウィンドウにポップアップするメッセージが必要です。ページに表示するのではなく、ポップアップする必要があります。誰かがこれを行うための最良の方法について私にアドバイスできますか?

4

1 に答える 1

3

私は自分のアプリケーションに同じメカニズムを実装しており、jQuery プラグイン 'smartmodal' (もともと Nimble プラグインで使用されていました) を使用しています。こちらをご覧ください

コントローラー検証コードのリクエストを、次のコードを含む GSP ページにリダイレクトするだけです。

<script type="text/javascript" src="${resource(file: 'jquery-1.3.2.js')}"></script>
<script type="text/javascript" src="${resource(file:'jquery.smartmodal.js')}"></script>
<LINK rel="stylesheet" href="./css/smartmodal.css">
...
<body>
...
<g:javascript>
$(function() { 
 $("#msg").hide();
 $("#msg").modal({hide_on_overlay_click:false});
 $("#msg").modal_show();});
</g:javascript>
<div id="msg">
My feedback message is here 
</div>
<g:link controller="..." action="...">Close</g:link>

お役に立てば幸いです。

ファビアン

編集smartmodal.css: 「モーダル効果」をレンダリングするファイルの抜粋は次のとおりです。

#modal_content {
    display: none;
    position: fixed;
    left: 50%;
    padding: 0px;
    top: 10%;

    background: #FFF;
    border: 0px solid #d2d2d2;

    width: 400px;
    margin-left: -200px;
    text-align: left;
}

#modal_overlay {
    background-color: #000;
}

ただし、完全なファイルが必要な場合は、優れたNimble grails プラグイン内で利用できます

于 2010-01-09T22:38:48.253 に答える