我有这个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")
,如果可能的话。
答案 0 :(得分:2)
这不是那么容易,因为HTTP是无状态协议。这意味着,如果你重新加载,页面的状态就会丢失。
但是当你一起使用JavaScript和PHP时,有一种方法。
#cmd
div的可见性。还有其他方法。所有这些方法都试图将状态(“已经加载一次的页面”)传递给下一个加载。
所有这四种方式都需要PHP来检查:cookie是否存在,HTTP方法是什么,参数是什么,会话中有什么?
答案 1 :(得分:2)
没有好办法检测它是否是页面加载或重新加载,它基本上是一回事。如果你想在首次加载页面时隐藏元素,然后在每次重新加载时隐藏元素,你可以这样做:
$("#cmd").hide();
如果必须仅重新加载,我想一种方法是不使用window.location.reload
而是使用window.location.href
,然后在URL中添加一些内容,就像查询字符串变量一样,然后你可以检查每个页面加载,并隐藏元素(如果存在)。