在另一个页面上从PHP表单更改HTML元素类-自定义CMS


Change HTML element class from PHP form on a different page - Custom CMS

是否可以从其他页面上的表单/下拉菜单更改'li'或其他html元素的类?

有什么想法吗?

示例:

后端形式:

 Image 1
 Image 2
 Image 3
 none - selected

前端html文件:

<li id="image1" class"hide"> </li>
<li id="image2" class"hide"> </li>
<li id="image3" class"hide"> </li>

后端形式(选择选项):

 Image 1 - selected
 Image 2
 Image 3

前端html文件:

 <li id="image1" class"show"> </li>
 <li id="image2" class"hide"> </li>
 <li id="image3" class"hide"> </li>

Css

.hide {
display: none;
}
.show {
 display: inline-block;
}

这当然是可能的。这取决于你到底想用它做什么。既然你标记了php,我就这么做,但如果不需要永久性的,你也可以使用JavaScript。

你可能想做的是将所有图像的路径与元信息一起存储在数据库中;为了简单起见,我们只使用您的classid:

ID   IMAGE                  CLASS
1    'images/image1.png'    hide
2    'images/image2.png'    hide
N    'images/imageN.png'    hide

从那里,您可以为每个元素回显类,而不是对其进行硬编码,可能使用foreach:

<image class='<?= $imageClass ?>' src='<?= $imageSrc ?>' />

然后你的图像下拉框可能看起来像这样:

<form method='post' action='action.php'>
    <select name='<?= $imageID ?>'>
        <option value='show'>Show</option>
        <option value='hide'>Hide</option>
    </select>
    <button type='submit'>Change class</button>
</form>

这将把选择发送到action.php。反过来,该文件将更新images,可能会使用SQL查询:

$query = "UPDATE images SET class = :imageClass WHERE id = :imageID";

然后,您可以使用脚本将浏览器返回到需要的任何页面,以便在不刷新浏览器的情况下进行设置。

不幸的是,这个问题有点模糊,所以如果不写一篇更长的帖子,我就无能为力了。希望这能让你知道它是如何工作的。