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

时间:2012-08-16 10:31:24

标签: php html

我想基于用户输入启用控件..如果用户单击是我想显示它,否则隐藏它..所以我调用了一个函数并根据我想要显示控件的值分配.. < / p>

这是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>
  <?  } ?>

3 个答案:

答案 0 :(得分:2)

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

如果没有Ajax,您无法在没有服务器请求的情况下执行PHP。所以另一个解决方案是重新加载整个页面,并通过新的控件将新页面通过PHP发送回客户端!

看看这张图片,了解“php:server,javascript:client”的逻辑 enter image description here

答案 1 :(得分:0)

你可以使用AJAX调用服务器端函数,jQuery使这很容易。

请参阅http://api.jquery.com/jQuery.ajax/

答案 2 :(得分:0)

<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>