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 回答