解决了-排序--
window.location.reload(); 在我的代码中,我有提交按钮关闭 div,工作。
// Collapse Panel on submit
$("div#panel").on('submit', function() {
window.location.reload();
$("div#panel").slideUp("slow");
$("#toggle a").toggle();
return false;
});
我一直在寻找这个答案,每次我都感到更加沮丧。
设想:
我有一个为登录目的而向下滑动的 div(jquery、css)。
该 div 中的登录表单本身最初是使用 PHP 动态创建的(通过 if else 语句基于 SESSIONS 中的值 - PHP echo 加载表单)。
3.如果我输入正确的登录名并单击提交,我将关闭 div(jquery on(submit)),以便用户可以看到该页面。该页面使用 xajax/PHP 函数从 php 文件加载动态内容。
4.问题 - 如果我点击重新打开 div 它仍然显示我的登录表单。(因为页面没有重新加载)。但是我的页面导航栏使用 xajax/PHP 重新加载以显示正确的菜单功能。
- 我的问题是我希望 div 在提交后刷新,或者如果有帮助,则在任何事件更改时刷新,以便它看到新会话数据并进行相应调整。我不想将另一个 HTML 页面加载到 DIV 中,所以 load(whatever.html) 不是我想要的。
如果我在登录后使用 f5 刷新整个页面并拉下 div,登录表单将不存在,因为我的 SESSIONS 现在声明我是登录用户,不再是需要登录的访客。并且该 div 不仅用于登录,它还将包含其他链接和快捷方式,因此在您整个访问期间登录时都会使用它。
索引.php
<div id="left" class="left">
<?php if(isset($_SESSION['admin'])){
if($_SESSION["admin"] == "1") {
echo "YOU ARE LOGGED IN AS AN ADMIN";
}
}
if(isset($_SESSION['userID'])){
echo "YOU ARE LOGGED IN AS A USER";
}
else { echo '<form class="clearfix" id="loginForm" name="loginForm" action="javascript:void(null)" onsubmit="xajax_login(xajax.getFormValues(\'loginForm\'));">';
幻灯片.js
$(document).ready(function() {
// Expand Panel
$("#open").click(function(){
$("div#panel").slideDown("slow");
});
// Collapse Panel
$("#close").click(function(){
$("div#panel").slideUp("slow");
});
// Switch buttons from "Log In | Register" to "Close Panel" on click
$("#toggle a").click(function () {
$("#toggle a").toggle();
});
// Collapse Panel on submit
$("div#panel").on('submit', function() {
$("div#panel").slideUp("slow");
$("#toggle a").toggle();
return false;
});
// if there is an error, close div and allow link on main content page to be clicked to reopen div
$("#content").on('click', "#tryAgain",function() {
$("div#panel").slideDown("slow");
$("#toggle a").toggle();
}); });