用户为下一个输入插入数据后清空文本字段

时间:2012-07-11 06:45:41

标签: javascript jquery asp.net-mvc-3 jquery-ui

我正在使用jquery显示输入框的弹出窗口。当用户输入数据并将重定向动作提交给相同的插入动作时,可以刷新文本字段。首先弹出输入显示但是当我提交前面显示的弹出窗口保持原样并且弹出新的弹出窗口显示输入框,每次单击insert时都会刷新输入框。我可以关闭上一个弹出窗口并仅显示新的弹出窗口。并且还请解释在用户输入数据后清空文本框的方法,以便他可以输入下一个数据。

我的布局中的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>

这显示了从此页面执行的操作的弹出窗口。即对于错误消息并插入另一个用户表单。因此弹出窗口是从布局视图生成的,然后从插入视图再次弹出。我正在尝试从插入视图生成弹出窗口时从布局视图关闭弹出窗口,或者某种方式清除插入视图中的文本字段而不显示第二个弹出窗口。我该怎么办。

1 个答案:

答案 0 :(得分: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");

                 }
             }



         }
         );

     });