我正在尝试让我的PHP代码在执行时更新我的HTML部分,并且我不确定如何在不依赖于javascript和隐藏div等的情况下执行此操作。 它的工作方式是,当用户点击“tick”或“cross”时,它会更新数据库并隐藏div而显示另一个。在页面加载时查询此DB,并且使用当前的总刻度和十字架加载投票栏。然后根据每边有多少票数,在这些柱上设置%宽度 我现在有:
<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是隐藏,然后添加到它,然后显示它,并隐藏另一个。我认为这可能是一个笨重的,甚至可能在某些用户计算机上很慢 任何输入都非常感激,因为我现在完全迷失了!
答案 0 :(得分:3)
我看到你已经在使用JQuery访问“updatelikes.php”和“updatedislikes.php”。您可以从php页面轻松返回一个返回到javascript函数的值:
$.get('updatedislike.php', function (response) {
//Logic in here
});
所以在Like / Dislike中你可以从数据库中获得总票数并将其返回到你的javascript函数,然后“response”参数将包含你从php函数返回的任何内容。返回值后,您只需在页面加载时重新调用您调用的任何内容(如果您返回/完全按照首先加载页面时执行的操作)。
Here你可以找到如何将php文件中的值返回到你的jquery / javascript函数。
祝你好运!Hanlet