调用php函数并在php函数中使用全局变量

调用php函数并在php函数中使用全局变量,php,html,Php,Html,我想根据用户输入启用控件。。如果用户单击“是”,我想显示它,否则隐藏它。。所以我调用了一个函数,并根据它指定了一个值,我想显示控件 这是php函数 <? $hscEnable="false"; function HSControl($val) { if($val=="yes") { return("true"); } else { return("false"); } } ?> 我从htm

我想根据用户输入启用控件。。如果用户单击“是”,我想显示它,否则隐藏它。。所以我调用了一个函数,并根据它指定了一个值,我想显示控件

这是php函数

<?
$hscEnable="false";
function HSControl($val) 
{
    if($val=="yes")
    {
        return("true");
    }
    else
    {
        return("false");    
    }
}
?>

我从html表单中调用了它

<input type="radio" name="twelthStudiedStatus" value="no" id="twelthStudiedStatus_1" checked onClick= <? $hscEnable=HSControl("no"); ?> >

  <? if($hscEnable=="true"){ ?>
  <tr>
    <td>Percentage :</td>
    <td><input type="text" name="twelthPercentage" /></td>
  </tr>
  <?  } ?>

百分比:

不能直接通过JavaScript调用PHP函数,因为PHP位于服务器上,JavaScript位于调用网页的客户端上。 您可以通过使用Ajax来解决这个问题。或者,如果您只想禁用或启用一个控件,您可以直接使用JavaScript而不是PHP

如果没有Ajax,没有服务器请求就无法执行PHP。因此,另一个解决方案是重新加载整个页面,并通过PHP将带有新控件的新页面发送回客户端

查看此图以了解“php:server,javascript:client”的逻辑

您可以使用AJAX调用服务器端函数,jQuery让这变得非常简单

请参阅,


功能控制(值){
document.getElementById(“twelthPercentage”).style.display=(值=‘否’)?“无”:“块”;
}
百分比:

PHP-服务器端,HTML/JS-客户端..你能解释得更清楚一点吗?!你到底想要什么?你试过什么?
return(“true”)
对我来说似乎很奇怪。@tuxtimo我不懂ajax。所以只有我在使用php。。虽然我只是在学习php,但请阅读下面的答案。。我在这里写过,没有Ajax的唯一解决方案是重新加载页面,并通过PHP生成带有所需控件的新HTML页面(在PHP中只是echo)。。
<script type="text/javascript">
    function HSControl(value) {
        document.getElementById("twelthPercentage").style.display = (value == 'no') ? "none" : "block";
    }
</script>
<input type="radio" name="twelthStudiedStatus" value="no" id="twelthStudiedStatus_1" checked onClick=HSControl('no')>
<input type="radio" name="twelthStudiedStatus" value="yes" id="twelthStudiedStatus_1" onClick=HSControl('yes')>
<tr>
    <td>Percentage :</td>
    <td><input type="text" id="twelthPercentage" name="twelthPercentage" hidden/></td>
</tr>