1

このjqueryコードとすべてが正常に機能していますが、可能であればwindow.location.reload(true);divを非表示にしたい#cmd

$(document).ready(function () {
    $("#add").click(
        function () {

            var id = $(this).attr("rel"); // ID
            var full_name = $("#full_name").val();
            var email = $("#email").val();
            var comments = $("#comments").val();
            var datapost = "id=" + id + "&full_name=" + full_name + "&email=" + email + "&comments=" + comments;

            $.ajax(
                {

                    type:"post",
                    url:"{/literal}{base_url()}{literal}post/add_cmd",
                    data:datapost,
                    success:function (Response) {
                        if (Response == 'added') {

                            alert("شكرا لك .. " + full_name + " على التعليق سوف يتم إداراج تعليقك بعد تحديث الصفحة");
                            window.location.reload(true);
                            $("#cmd").hide("Slow");

                        } else {
                            alert(Response);
                        }
// window.location.href = '../admcat/cats';
                    },
                    fail:function () {
                        alert("تعذر حذف الركورد لسوء الاتصال بالانترنت");
                    }
                }
            );


        }
    );


});

後はできればwindow.location.reload(true);非表示にしたいです。$("#cmd")

4

2 に答える 2

2

HTTP はステートレス プロトコルであるため、これはそれほど簡単ではありません。つまり、リロードすると、ページの状態が失われます。

しかし、JavaScript と PHP を一緒に使用する方法があります。

  1. 最初の読み込み時に Cookie を設定する
  2. PHP のリロード時に Cookie の存在を確認し、#cmddiv の可視性を設定します。

他の方法があります。これらの方法はすべて、状態 (「ページは一度ロード済み」) を次のロードに渡そうとします。

  1. 別の方法を使用してリロードします (最初は GET、次に POST)。
  2. リロードするだけでなく、URL パラメータを渡す
  3. PHP セッションを使用する

これら 4 つの方法はすべて、PHP で確認する必要があります: Cookie が存在するか、HTTP メソッドは何か、パラメーターは何か、セッションには何があるか?

于 2012-10-07T08:27:21.133 に答える
2

ページの読み込みか再読み込みかを検出する良い方法はありません。基本的には同じことです。ページが最初にロードされたときと、その後のリロードのたびに要素を非表示にする場合は、次のようにすることができます。

$("#cmd").hide();

リロード時のみにする必要がある場合は、使用しない代わりに、クエリ文字列変数などの何かを URL に追加して、ページの読み込みごとにチェックし、存在する場合は要素を非表示にすることが 1 つの方法だと思いwindow.location.reloadますwindow.location.href。 .

于 2012-10-07T08:27:32.507 に答える