我正在尝试创建一个管理页面,下面是我的代码及其多个面板,其中单击相应的图像将导致将
replaceThis
div
更改为其各自的 php 文件内容。
<div class="left-container">
<img src="" id="Dashboard" alt="Dashboard">
<img src="" id="ManUse" alt="Manage Users">
<img src="" id="ManFile" alt="Manage Files">
<img src="" id="FfApprove" alt="Files for Approval">
</div>
<div class="right-container" id="replaceThis">
<?php
switch($_SESSION['admain']){
case 'Dashboard':
break;
case 'ManUse':
break;
case 'ManFile':
break;
case 'FfApprove':
break;
}
?>
</div>
到目前为止,这是我的javascript代码,各个PHP文件的内容当前为空,因为我不知道是否需要打印函数或只调用整个php文件(我不知道该怎么做还) 或者我应该将 `$_SESSION['admin'] 合并到 php 文件中。
$(document).ready(function() {
$("#Dashboard").click(function() {
let selID = $(this).attr('id');
$("#replaceThis").load(".modular/dasbord.php", {
newDis : selID
});
});
});
$(document).ready(function() {
$("#ManUse").click(function() {
let selID = $(this).attr('id');
$("#replaceThis").load(".modular/manuser.php", {
newDis : selID
});
});
});
$(document).ready(function() {
$("#ManFile").click(function() {
let selID = $(this).attr('id');
$("#replaceThis").load(".modular/manfile.php", {
newDis : selID
});
});
});
$(document).ready(function() {
$("#FfApprove").click(function() {
let selID = $(this).attr('id');
$("#replaceThis").load(".modular/forapprove.php", {
newDis : selID
});
});
});
你需要保持干燥(不要重复自己)并且只有一个 php 返回内容。 该开关不属于index.php,而是属于replacethis.php
还要确保所有内容拼写正确
$(function() {
function loadPage(id) {
let selID = id || $(this).attr('id'); // if passed an ID use it
console.log(selID);
$("#replaceThis").load(".modular/replacethis.php", {
newDis: selID
});
}
const $nav = $(".left-container")
.on("click", 'img', loadPage); // any click on an image
loadPage($nav.find('img').eq(0).prop('id')); // initialise
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<div class="left-container">
<img src="" id="Dashboard" alt="Dashboard">
<img src="" id="ManUse" alt="Manage Users">
<img src="" id="ManFile" alt="Manage Files">
<img src="" id="FfApprove" alt="Files for Approval">
</div>
<div class="right-container" id="replaceThis"></div>
然后替换this.php就可以了
<?php
switch($_POST['newDis']){
case 'Dashboard':
file_get_contents('dashboard.html');
break;
case 'ManUse':
file_get_contents('manuse.html');
break;
case 'ManFile':
file_get_contents('manfile.html');
break;
case 'FfApprove':
file_get_contents('ffapprove.html');
break;
}
?>