尝试使用按钮onclick事件在javascript中执行php代码。 我有两页 test.php 和 demo.php ,每页都有按钮。现在我想做的是。当我点击 test.php 中的按钮时,它应该禁用 demo.php 中的按钮,当重新加载 test.php 时,它应该检查 demo.php 中按钮的状态,并根据它显示它。
现在我已经尝试了一些按照要求正常工作的东西。问题是两个页面上的按钮都不起作用。代码仅在刷新页面时执行。
以下是我尝试过的代码。
首先 test.php
<?php
session_start();
?>
<html>
<head>
<script type="text/javascript">
function enable(){
var a='<?php
$_SESSION['demo']='enable';
if($_SESSION['btn_demo']=='enabled'){
$_SESSION['btn_test']='disable';
unset($_SESSION['demo']);
}
else {
$_SESSION['btn_test']='enable';
}
?>';
}
</script>
</head>
<body>
<input type="button" value="<?php echo $_SESSION['btn_test']; ?>" name="submit" id="submit" onclick="enable()" >
</body>
</html>
当我点击 test.php 中的启用按钮时,它应启用 demo.php 中的按钮。
第二个 demo.php
<?php
session_start();
error_reporting(0);
?>
<html>
<head>
<script type="text/javascript">
function enable(){
<?php
$_SESSION['test']=$_SESSION['demo'];
if($_SESSION['test']=='enable'){
$_SESSION['btn_demo']='enabled';
} else
{
$_SESSION['btn_demo']='disabled';
}
?>}
</script>
</head>
<body>
<style>
</style>
<input type="button" value="<?php echo $_SESSION['btn_demo']; ?>" name="submit" id="submit" onclick="enable()" >
</body>
</html>
单击 test.php 中的按钮时,应启用/禁用该按钮。 当我刷新时,这两个页面工作正常。单击任一按钮时不起作用。怎么解决这个?需要帮助。
答案 0 :(得分:1)
PHP在javascript之前执行,因此你不能以这种方式使用,你可以使用AJAX调用该文件
尝试这样的事情:
<script>
function enable(){
$.ajax({
type: "POST",
url: "setSession.php",
success: function(res) {
if(res==="Success"){
alert("Success!!!");
}
}
});
}
</script>
setSession.php
<?php
$_SESSION['demo']='enable';
if($_SESSION['btn_demo']=='enabled'){
$_SESSION['btn_test']='disable';
unset($_SESSION['demo']);
}
else {
$_SESSION['btn_test']='enable';
}
echo "Success";
?>