我想在点击超链接时显示用户的余额。用户的余额存储在php变量中。我希望这可以使用javascript完成,但我没有很多javascript经验。
以下是我的代码:
$userbalance = $xyz[2];
echo "Your balance stands at ".$xyz[2];
这件事有效,但我想通过点击链接
来显示$userbalance
我不知道在锚标签中放什么。
点击超链接是否有可能显示php varibale的值?
我可以将功能传递给href
吗?或者我可以用某种方式使用onclick
吗?
答案 0 :(得分:0)
试试这个:
<a href="somepage.php?balance=<?php $balance = $xyz[2]; echo "Your balance stands at ". $balance; ?>" >Click</a>
通过上述方法,您可以在任何页面的url中显示余额。然后,如果您需要使用该平衡,那么只需使用超全局变量$_GET['balance'];
答案 1 :(得分:0)
以最简单的形式,可以通过将值存储在HTML支持的“data-”属性中,然后使用Javascript在用户点击时提醒值来完成。
<p>
Click to see your account
<a href="javascript:void();" data-balance="123 €" onclick="window.alert(this.getAttribute('data-balance'))">balance</a>.
</p>
这部分的PHP部分只是将正确的平衡回显到上面HTML代码中的正确位置。
<a href="javascript:void();" data-balance="<?= $balance ?>" onclick="window.alert(this.getAttribute('data-balance'))">balance</a>.
最终HTML示例:https://jsfiddle.net/oh8jnmg2/1/
答案 2 :(得分:0)
如果您不想实际使用两个页面但仍显示新内容并隐藏其他内容,则可以使用此解决方案:
$userbalance = $xyz[2];
echo `Your balance stands at <a href='javascript:{document.documentElement.innerHTML = ""; document.write(` . $xyz[2] . `);}'>see variable</a>`;
如果您只想在下方显示新值,请使用:
$userbalance = $xyz[2];
echo `Your balance stands at <div id="myDiv"><a href='javascript:{document.getElementById("myDiv").innerHTML = ` . $xyz[2] . `;}'>see variable</a></div>`;
答案 3 :(得分:0)
Niltish给出了正确的提示。但我不建议将输出字符串放入链接中,该链接会显示在网址中。由于HTML是通过PHP呈现的,因此您只需键入以下内容即可将值附加到链接:
<a href="yourprintsite.php?balance=$userbalance>Click here to see your balance</a>
然后在yourprintsite.php上,您只需输入:
if (!empty($_GET['balance')) {
echo "Your balance stands at " . $_GET['balance'];
}
你已经完成了。
答案 4 :(得分:0)
您是否可以编写下一个代码,函数getAttribute必须帮助
<script type="text/javascript">
function clickHanler(d){
alert(d.getAttribute("data-userbalance"));
}
</script>
<a
data-userbalance="21"
href="#"
onclick="clickHanler(this);">
Click to do something
</a>
答案 5 :(得分:0)
首先,让我们从 HTML 开始,您需要创建一个<a></a>
,路由到no:
<a href="javascript:void(0)" id="linktobalance">Click to see Balance</a>
然后,在 Javascript 部分:
我们需要使用Ajax来从balance
页面获取balance.php
:
$("#linktobalance").on("click", function(){
$.post( "balance.php", function(balance) {
//In this part, the balance is the value returned from th PHP, you can do whatever with it, I'll alert it
alert( "The user balance is "+balance );
});
});
注意:我们使用了jQuery,您可以通过以下方式将其添加到项目中:
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
答案 6 :(得分:0)
$("#showbalance").click(function(){
$("#balance").show();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js"></script>
<a href="#" id="showbalance">Show Balance</a>
<div id="balance" style="display: none;">
Balance = 1000
</div>