0

ここに私のジレンマがあります:

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() で?前もって感謝します!

4

2 に答える 2

3

$("#notFound").hide();また$("#notFound").remove();

于 2013-06-04T15:21:49.500 に答える
0

シンプルに思います

$("#notFound").replaceWith("");

また

 $("#notFound").remove();

動作します。

于 2013-06-04T15:22:14.460 に答える