ここに私のジレンマがあります:
JQuery ダイアログの検索ボタンをクリックすると、リクエストがサーブレットに送信されます。そのサーブレットは、返すページを決定します。結果の JSP ページか、HTML ページのロード時にポップアップする JQuery ダイアログに表示する追加の属性/文字列を使用して、ユーザーを検索フォーム JSP に戻します。次に、有効な検索を行い、サーブレットがユーザーを結果ページにルーティングすると、ブラウザの [戻る] ボタンをクリックすると、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 ダイアログの OK: function() で?前もって感謝します!