3

入力ボックスのポップアップを表示するjqueryを使用しています。ユーザーがデータを入力して送信すると、テキストフィールドを更新できるように、アクションを同じ挿入アクションにリダイレクトしました。最初に入力用のポップアップが表示されますが、送信すると、前に表示されたポップアップがそのまま残り、新しいポップアップが表示されます入力ボックスが表示され、挿入をクリックするたびに入力ボックスが更新されます。前のポップアップを閉じて、新しいポップアップのみを表示するにはどうすればよいですか。また、ユーザーがデータを入力した後にテキストボックスを空にして、次のデータを入力できるようにする方法を説明してください。

私のレイアウトでのjquery

 <script type="text/javascript">

            $.ajaxSetup({ cache: false });

            $(document).ready(function () {
                $(".openDialog").live("click", function (e) {
                    e.preventDefault();

                    $("<div></div>")
                    .addClass("dialog")
                    .attr("id", $(this)
                    .attr("data-dialog-id"))
                    .appendTo("body")
                    .dialog({
                        title: $(this).attr("data-dialog-title"),
                        minWidth: 500,
                        minHeight: 100,
                        resizable: false,
                        close: function () { $(this).remove() },
                        modal: true
                    })

                    .load(this.href);
                });

                $(".close").live("click", function (e) {
                    e.preventDefault();
                    $(this).closest(".dialog").dialog("close");                    
                });
            });
    </script>
</head>

ボタンをクリックして入力ボックスを取得すると、ポップアップが表示されます

以下は挿入ビューの私のjqueryです

</script>
 <script type="text/javascript">
     $(function () {
         $('form').submit(function () {
                $("#popUp").dialog(
             {

                 title: $(this).attr("data-dialog-title"),
                 minWidth: 500,
                 resizable: false,

                 modal: true,

                 buttons: {
                     Close: function () {

                         $(this).dialog("close");

                     }
                 }



             }
             );

         });
     });


    </script>

これは、このページから実行されるアクションのポップアップを示しています。つまり、エラー メッセージを表示し、別のユーザー フォームを挿入します。したがって、レイアウト ビューからポップアップが生成され、挿入ビューから再び次のポップアップが生成されます。挿入ビューからのポップアップが生成されたときに、レイアウト ビューからポップアップを閉じようとしています。私は何をすべきか。

4

1 に答える 1

1

これは、以下のコードで必要な行です。コメントを付けてインラインに配置しましたが、簡単に見つけられるようにここにも配置します。 $(this).find("input").val("");

    $('form').submit(function () {
            $("#popUp").dialog(
         {

             title: $(this).attr("data-dialog-title"),
             minWidth: 500,
             resizable: false,

             modal: true,

             buttons: {
                 Close: function () {
                     //This line below is what you need to clear the field
                     $(this).find("input").val("");
                     $(this).dialog("close");

                 }
             }



         }
         );

     });
于 2012-08-13T01:50:46.793 に答える