这是我的困境:
单击我的 JQuery 对话框上的搜索按钮时,会向我的 servlet 发送一个请求。该 servlet 确定要返回的页面。结果 JSP 页面或将用户路由回搜索表单 JSP 以及我在加载 html 页面时弹出的 JQuery 对话框中显示的附加属性/字符串。然后,当我进行有效搜索并且 servlet 将用户路由到结果页面时,当我单击浏览器上的后退按钮时,弹出 notFound 对话框!我不希望这样,并试图删除实例化该对话框的表单元素。请参阅下面的来源。
这是我的元素和相应的 javascript/jquery 代码:
<script>
$(function() {
$("#searchForm").dialog(
{
height : 400,
width : 450,
resizable : false,
draggable : false,
open : function(event, ui) {
$(this).parent().children().children(
'.ui-dialog-titlebar-close').hide();
},
title : "Search",
closeOnEscape : false,
buttons : {
"Search" : function() {
if ($("#name").val().length >= 1) {
$("#searchForm").submit();
} else {
$("#error").dialog("open");
}
},
"Main Menu" : function() {
window.location.href = "/";
}
}
});
$("#error").dialog({
autoOpen : false,
resizable : false,
draggable : false,
title : "Error!",
buttons : {
"OK" : function() {
$(this).dialog("close");
}
}
});
***$("#notFound").dialog({
autoOpen : false,
resizable : false,
draggable : false,
title : "Nothing Found!",
buttons : {
"OK" : function() {
$(this).dialog("close");
var div = document.getElementById('notFound');
if (div) {
div.parentNode.removeChild(div);
}
}
}
});***
});
</script>
<body>
<%
if (message != null) {
%>
<form id="notFound">
<p><%=message%></p>
<script>
$(function() {
$("#notFound").dialog("open");
});
</script>
</form>
<%
}
%>
....
为什么 id 为 notFound 的元素及其子元素不会从页面的源代码和 DOM 中删除?我怎样才能删除
<form id="notFound">
<p><%=message%></p>
<script>
$(function() {
$("#notFound").dialog("open");
});
</script>
</form>
确定:#notFound 对话框的 function()?提前致谢!