0

FancyBoxプラグインの使用で問題が発生しています。私はAjaxを使用してフォームを送信し、小さな成功メッセージを印刷しようとしています。まだ検証は行われていません。それを機能させようとしています。jQueryを使用して送信し、FancyBox内の任意の入力の値を表示できます。ただし、Ajaxを実行しようとすると、FancyBoxが閉じてしまいます。私は専門家ではありません...

FancyBoxのコンテンツは、データベースからのデータを必要とするため、Ajaxを使用して生成されます。

重要なコード部分は次のとおりです:(テキストはドイツ語です...)

Ajaxを使用してFancyBoxにロードされたファイル

    <script>
            $("#submit").click(function() {

                var login = $("#login").val();

                $.ajax({
                       type: "POST",
                       url: "handleuseredit.php",
                       cache: false,
                       data: { login:   login },
                       success: function(data){
                       if(data=='ok')
                       {
                            alert('Richtig.');
                       }
                       else
                       {
                            alert('Falsche Benutzername/Passwort Kombination.');
                       }
                    }
                });     
            });
    </script>
        <div class="login">
            <div class="widget_header">
                <h4 class="widget_header_title wwIcon i_16_wysiwyg">Benutzer Bearbeiten</h4>
            </div>
            <div class="widget_contents lgNoPadding">
            <form method="post" id="form-edit">
                <p id="errormessagehere"></p>
                <div class="line_grid">
                    <div class="g_3 g_3M"><span class="label">Benutzername</span></div>
                    <div class="g_9 g_9M">
                        <input type="text" name="login" id="login" value="<?php echo getusername($_GET['u']) ?>" class="simple_field tooltip" placeholder="Benutzername" autocomplete="off"></div>
                    <div class="clear"></div>
                </div>
                <div class="line_grid">
                    <div class="g_3 g_3M"><span class="label">Passwort</span></div>
                    <div class="g_9 g_9M">
                        ********
                    </div>
                    <div class="clear"></div>
                </div>
                <div class="line_grid">
                    <div class="g_6"><a href="" id="submit">Abschicken</a>
                    </div>
                    <div class="clear"></div>
                </div>
                </form>
            </div>
        </div>

これが私がファンシーボックスと呼ぶ方法です

$(document).ready(function() {

            $(".fancybox").fancybox({

                'scrolling'     : 'no',
                'padding'       : 0,
                'titleShow'     : false

            });

         });

handleuseredit.phpは、データ変数の要件を満たすために「ok」をエコーするだけです。

4

1 に答える 1

0

You can test something like this with the version 2 of fancybox (http://fancyapps.com/fancybox/):

<script>
            $("#submit").click(function() {

                var login = $("#login").val();

                $.ajax({
                       type: "POST",
                       url: "handleuseredit.php",
                       cache: false,
                       data: { login:   login },
                       success: function(data){
                       if(data=='ok')
                       {
                         $.fancybox( '<h1>Richtig.</h1>' );
                       }
                       else
                       {
                         $.fancybox( '<h1>Falsche Benutzername/Passwort Kombination.</h1>' );
                       }
                    }
                });     
            });
    </script>
于 2013-03-09T09:24:32.553 に答える