-5

I want to enable a control based on the user input.. if user click yes i want to display it else hide it.. so i called a function and assigned value based on that i want to display the control..

This is the php Function

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

I have called it from html form

<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>
  <?  } ?>
4

3 回答 3

2

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

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

看这张图了解“php: server, javascript: client”的逻辑 在此处输入图像描述

于 2012-08-16T10:37:37.783 回答
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>
于 2012-08-16T11:42:42.863 回答
0

您可以使用 AJAX 调用服务器端函数,jQuery 使这非常容易。

见,http://api.jquery.com/jQuery.ajax/

于 2012-08-16T10:38:56.373 回答