所以$user->turnon
始终是第二个值,即" 1"加载页面时
<script>
$(document).ready(function(){
$(".turnof").click(function(e){
var editcase = "<?php $USER->turnon = 0 ;?>";
});
$(".turnon").click(function(e){
var editcase = "<?php $USER->turnon = 1 ;?>";
});
});
</script>
答案 0 :(得分:2)
您无法直接从JavaScript函数调用PHP。 PHP代码在您的服务器上执行,因此它将在页面加载之前进行评估。您的代码与......相同。
<?php
$USER->turnon = 0;
$USER->turnon = 1;
?>
<script>
$(document).ready(function(){
$(".turnof").click(function(e){
var editcase = "";
});
$(".turnon").click(function(e){
var editcase = "";
});
});
</script>
由于您未在PHP代码中使用echo
功能(或其他打印功能),因此不会向页面输出任何内容,因此您的点击功能只会设置您的JavaScript变量{{1}成为空字符串。
在PHP方面,您只需将editcase
设置为0,然后立即将其值更改为1.这会在页面加载之前发生。
您可能希望执行AJAX请求,该请求允许您从JavaScript函数向服务器发起请求。对服务器的请求可用于执行PHP代码。
答案 1 :(得分:0)
你应该通过Ajax来做,如评论中所述。
<script>
$(document).ready(function(){
$(".turnof").click(function(e){
$.ajax({
url: "/ajax.php?turnon=0",
context: document.body
}).done(function() {
alert('success');
});
});
$(".turnon").click(function(e){
$.ajax({
url: "/ajax.php?turnon=1",
context: document.body
}).done(function() {
alert('success');
});
});
});
</script>
这是ajax.php
//session start etc..
if (isset($_GET['turnon'])) {
$USER->turnon = $_GET['turnon'] === '1' ? 1 : 0;
}