我试图让我的 PHP 代码在执行时更新我的 HTML 的一部分,但我不确定如何在不严重依赖 javascript 和隐藏 div 等的情况下做到这一点。
它的工作方式是,当用户单击“勾号”或“叉号”时,它会更新数据库并隐藏一个 div,同时显示另一个。这个数据库在页面加载时被查询,并且一个投票栏加载了当前的总刻度和交叉数。然后根据每一方的票数在这些条上设置一个百分比宽度。
我目前有:
<div id="voting">
<a href="#" onClick="updatelikes();">
<img src="/images/tick.png" width="250px" />
</a>
<a href="#" onClick="updatedislikes();">
<img src="/images/cross.png" width="250px" />
</a>
</div>
<div id="votingoff" style="display:none;">
<img src="/images/tick.png" width="250px" />
<img src="/images/cross.png" width="250px" />
</div>
和
function updatelikes() {
$.get("updatelikes.php");
voting = document.getElementById('voting');
voting.style.display="none";
votingoff = document.getElementById('votingoff');
votingoff.style.display="";
return false;
}
function updatedislikes() {
$.get("updatedislikes.php");
voting = document.getElementById('voting');
voting.style.display="none";
votingoff = document.getElementById('votingoff');
votingoff.style.display="";
return false;
}
它的工作原理是它从显示中删除一个,并显示另一个。但是,我觉得这段代码有点笨拙,我希望“投票栏”的宽度发生变化并更新值。由于 HTML 代码是在页面加载时由 PHP 脚本生成的,我不知道如何在加载“updatelikes.php”或“updatedislikes.php”时更新它,因为我觉得我必须有另一个 div隐藏,然后添加到它,然后显示它,并隐藏另一个。我认为这可能很笨重,在某些用户计算机上甚至可能很慢。
非常感谢任何输入,因为我现在完全迷路了!
最佳答案
我看到您已经在使用 JQuery 访问“updatelikes.php”和“updatedislikes.php”。您可以轻松地从您的 PHP 页面向您的 JavaScript 函数返回一个值:
$.get('updatedislike.php', function (response) {
//Logic in here
});
因此,在喜欢/不喜欢中,您可以从数据库中获取总票数并将其返回给您的 javascript 函数,然后“response”参数将包含您从 php 函数返回的任何内容。返回值后,您可以简单地重新调用您在页面加载时调用的任何内容(以防您返回/执行您在第一次加载页面时所做的操作)。
Here您可以找到如何将值从您的 php 文件返回到您的 jquery/javascript 函数。
祝你好运!
哈雷特
关于php - 使用 PHP 更改页面的各个方面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7615263/