我有一个javascript变量,它在.php脚本中递增,除了.php脚本使页面重新加载然后重置变量之外没有问题,我的问题是,是否可以在本地存储一个javascript变量,即使整个增量发生在.php脚本中,变量和本地存储在带有变量和函数的html脚本中,html / javascript文件和.php文件是分开的,这是困难的部分。
HTML / JavaScript的:
<div class="bidVar">
current amount: $<span id="bidVar"></span>
</div>
<script type="text/javascript">
var bidVar= 1;
document.getElementById("bidVar").innerHTML = bidVar;
document.getElementByID("bidVar").value = bidVar;
function addToCurrent() {
bidVar= bidVar+ 1 ;
document.getElementById("bidVar").innerHTML = bidVar;
}
</script>
.PHP:
<?php
echo '<script type="text/javascript"> addToCurrent(); </script>';
?>
答案 0 :(得分:1)
本地存储中的变量不由PHP递增:您的PHP脚本输出一些执行此操作的Javascript代码。 您要么不是直接在PHP脚本中重定向,要么重定向指示下一页应该增加变量的内容。
示例:
的script.php
// ...
header('Location: mypage.php?increment=true');
exit();
mypage.php
// ...
if (isset($_GET['increment']) && $_GET['increment'] == true) {
echo '<script type="text/javascript"> addToCurrent(); </script>';
}
// ...
答案 1 :(得分:0)
为了避免刷新页面,从而重新加载JavaScript,您可能需要查看AJAX样式页面。这样可以重新加载或操作页面的特定部分,可以调整JavaScript变量,但整个页面永远不会重新加载。
如果不可能,当您点击链接或提交表单时,您必须让JavaScript发送当前计数,让您的PHP捕获该数字,然后您的PHP将当前计数发送到您的JavaScript页面重新加载。