我想基于用户输入启用控件..如果用户单击是我想显示它,否则隐藏它..所以我调用了一个函数并根据我想要显示控件的值分配.. < / 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>
<? } ?>
答案 0 :(得分:2)
您无法直接通过JavaScript调用PHP函数,因为您的PHP位于服务器上,而JavaScript位于调用该网页的客户端上。 您可以使用 Ajax 解决此问题。或者,如果您只想禁用或启用控件 - 您可以直接使用JavaScript而不是PHP!
如果没有Ajax,您无法在没有服务器请求的情况下执行PHP。所以另一个解决方案是重新加载整个页面,并通过新的控件将新页面通过PHP发送回客户端!
看看这张图片,了解“php:server,javascript:client”的逻辑
答案 1 :(得分:0)
你可以使用AJAX调用服务器端函数,jQuery使这很容易。
答案 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>