如何在PHP类函数中使用javascript


How to use javascript in PHP class functions?

如您所见,我有一个名为table的类;我在上面有很多功能,"主面"就是其中之一;这些功能就像我的界面上有一些复选框和组合框;我想在"全部"复选框-> onclick=" "上写一些JavaScript
我希望当用户点击"全部"复选框时,选项会在屏幕上消失,但我找不到方法。
有什么办法吗?我可以添加对onclick的JavaScript函数调用吗?

<script type="text/javascript" >
function hide(){
            if(document.form.All.checked){
                 document.getElementById('option').style.visibility="hidden";
            }
}
</script>
</head>
<body> 
<?php
class table{
   public function   __construct() {
       echo table:: mainface();              
   }
   public function mainface()
   {
      $arayuz=" ";
      $arayuz.="<form name=form action=index.php method=post>";
      $arayuz.="<fieldset>";
    $arayuz.="<input type=checkbox name=All value=All onclick='SOME JAVA SCRIPT FUNCTION'>;
}
?>

php文件:

public function mainface()
{
    $output = "<script type='"text/javascript'" src='"/path_to_your_js/table.js'">-</script>";
    $output.= "<form name ='"form'" action='"index.php'" method='"POST'">";
    $output.= "<fieldset>";
    $output.= "<input type='"checkbox'" name='"ALL'" value='"ALL'" onclick='"checkAll(this)'">";
}

然后在表.js:中

function checkAll( myCheckBox )
{
    //do some stuff you need here
    myCheckBox.style.display = "none";
}

我希望这能帮助。。。

您正在混合服务器端和客户端脚本语言。PHP运行服务器端(在web服务器上),javascript运行客户端(在web浏览器内)。Onclick是javascript,因此运行客户端。您不能直接从Onclick操作调用PHP函数。

http://en.wikipedia.org/wiki/Client-side_scripting

http://en.wikipedia.org/wiki/Server-side

为了实现您想要的,您不需要任何PHP脚本。这一切都可以用Javascript完成。你需要在你的表格中添加一个ID,如下所示:

$arayuz.="<form name='form' id='myform' action='index.php' method='post'>";

然后使用以下内容作为onclick操作:

$arayuz.="<input type=checkbox name=All value=All onclick='document.getElementById('"myform'").style.visibility = '"hidden'";'>"

这是可行的,但打印出这样的内联JavaScript是可怕的,我真的建议你研究一下不引人注目的JavaScript,并使用类似jQuery的东西。适用于所有复选框的Jquery示例:

$(":checkbox").live('click' , function () { $("#IdOfForm").hide(); });

表单id用于onclick

  $arayuz.="<form name='form' id='form1' action='index.php' method='post'>";

这将是你的一次性

  $arayuz.="<input type=checkbox name=All value=All onclick='document.getElementById('"form1'").style.visibility = '"hidden'";'>"