我正在使用显示输入框弹出窗口的 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>
当我点击按钮获取输入框时显示弹出窗口
下面是我在插入 View 中的 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>
这显示了从该页面执行的操作的弹出窗口。即错误消息并插入另一个用户表单。因此,弹出窗口是从布局 View 生成的,下一个弹出窗口是从插入 View 生成的。我试图在从插入 View 生成弹出窗口时从布局 View 关闭弹出窗口,或者以某种方式清除插入 View 中的文本字段而不显示第二个弹出窗口。我该怎么办。
最佳答案
这是您想要在下面的代码中使用的行。我将它与注释放在一起表示,但我也会将它放在这里以便于查找:$(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");
}
}
}
);
});
关于javascript - 用户为下一个输入插入数据后清空文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11427032/