0

サーバー側のフォーム検証を使用して、Ajax を使用して送信されたフォームに (html で) 応答を投稿していますが、より具体的にはhttp://jquery.malsup.com/form/#getting-startedプラグインを使用しています。

私が試してみました:

<script type="text/javascript">
$(document).ready(function() {
 var $dialog = $('<div id="dialog"></div>')
        .html('This dialog will show every time!')
        .dialog({
            autoOpen: false,
            title: 'Basic Dialog'
        });
    $('#bookingForm').ajaxForm({
        success: function() { 
            $dialog.dialog('open');
            // prevent the default action, e.g., following a link
            return false;
        } 
    });
});
</script>

Ajax 送信が起動し、サーバーは応答を返しますが、jquery ダイアログは返しません。

削除する

autoOpen: false,

ダイアログが表示されるので、スクリプトのこの部分が機能していることがわかります。

また、コールバックをアラートでテストしましたが、それも機能しています。

あなたの助けに感謝します。

ティム

4

1 に答える 1

0

これはスコープに関するものですか?$dialog は関数内にあるため使用できません

試す

 var $dialog;
  $(document).ready(function() {
      $dialog = $('<div id="dialog"></div>')
于 2012-06-18T15:54:04.743 に答える