当用户选择按钮时,我需要隐藏图像,说明和名称。 当用户选择'完成'按钮,我想只是与该按钮关联的项目消失。
请参阅我的代码,了解如何在下方显示项目:
if (isset($_POST['submit']) && ($daysLeft == 7)){
$stmt = $conn->prepare("UPDATE Profile SET Points=:points WHERE UserID=$UserID");
$stmt->execute();
//need something here to hide whats displayed
echo "Well done!";
}else {
}
显示每个项目的代码:
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)) {
echo "" . $dbRow["Name"] . "</h4><br>" . "<br><img src=\" . $dbRow['Picture'] . "' width='150' height='150' />" . "<br><br>" . $dbRow["Instructions"] . "<form method='POST'><input type='submit' name='submit' value='Complete'>";
}
任何想法?
答案 0 :(得分:0)
如果您正在重新加载页面,那么您可以使用PHP来完成。
你发表评论的地方
//need something here to hide whats displayed
您可以设置变量,例如$hide = true
。确保事先在$hide = false
声明之外if
初始化:
$hide = false;
if (isset($_POST['submit']) && ($daysLeft == 7)){
// existing code
$hide = true;
}
如果$hide
仍为false
,则可以显示图片:
while ($dbRow = $dbQuery->fetch(PDO::FETCH_ASSOC)) {
echo "" . $dbRow["Name"] . "</h4><br>" . "<br>";
if ($hide) {
echo "<img src=\" . $dbRow['Picture'] . "' width='150' height='150' />";
}
echo "<br><br>" . $dbRow["Instructions"] . "<form method='POST'><input type='submit' name='submit' value='Complete'>";
}
如果您不重新加载页面,则JavaScript / jquery解决方案会更好。但是,既然你已经用PHP标记了它,我假设你将重新加载页面。
顺便提一下,HTML上的内容看起来很糟糕。例如,您已关闭了未打开的<h4>
代码。但是我已按原样复制你的标记,这样你就可以看到它适合的位置。标记的清晰版本:
echo "<h4>" . $dbRow["Name"] . "</h4><br>";
if (!$hide) {
echo "<img src='" . $dbRow['Picture'] . "' width='150' height='150'>";
}
echo "<br><br>" . $dbRow["Instructions"] . "<form method='POST'><input type='submit' name='submit' value='Complete'></form>";
你也不应该真的使用<br>
标签来解决问题,但这是一个单独的问题......
答案 1 :(得分:-1)
你需要使用Javascript来做到这一点。尝试将要隐藏的元素放在div中,然后在click()Javascript事件上将其css visibility属性更改为none。