我已经搜索了不同的方法来解决这个问题,但没有运气。 我的代码看起来基本上是这样的:
<?php
$attnum = 1;
?>
<button type="button" onClick="<?php $attnum++ ?>">+</button>
<h3><em>att<?php echo "$attnum" ?>: </em></h3>
当页面加载时,它已经在$ attnum上添加了1。我只想在按下按钮时添加$ attnum。我做错了什么?
由于
答案 0 :(得分:3)
您正在混淆HTML(客户端)和PHP(服务器端)。 如果要在用户单击按钮时在PHP中增加服务器变量,则必须通知服务器,例如使用ajax调用。
答案 1 :(得分:3)
如果你想在服务器端做,你可以这样做:
<?php
session_start();
// Page was not reloaded via a button press
if (!isset($_POST['add'])) {
$_SESSION['attnum'] = 1; // Reset counter
}
?>
<form method='post'>
<input name='add' type="submit" value='+'>
<h3><em>att<?php echo $_SESSION['attnum']++ ?>: </em></h3>
</form>
如果您想在客户端进行,请执行以下操作:
<button id='add' type="button">+</button>
<h3><em>att<span id='val'>1</span>: </em></h3>
<script>
document.addEventListener("DOMContentLoaded", function() {
document.getElementById('add').addEventListener('click', function() {
document.getElementById('val').innerHTML++;
});
});
</script>
答案 2 :(得分:1)
我通过使用Javascript实现了这一点,请检查这个小提琴:
HTML:
<button id="button" type="button">+</button>
<h3><em>att<span id="att">1</span>:</em></h3>
使用Javascript:
var button = document.getElementById('button');
var attnum = 1;
button.addEventListener('click', function(){
document.getElementById('att').innerHTML = ++attnum;
});
答案 3 :(得分:-2)
尝试这样
<button type="button" onClick="funct('<?php $attnum++ ?>')">+</button>
<h3><em>att<?php echo "$attnum" ?>: </em></h3>
并创建一个新的javascript函数