如何在PHP类函数中使用javascript?

时间:2011-07-01 08:47:14

标签: php javascript oop class

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

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

}
?>

4 个答案:

答案 0 :(得分:3)

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)\">";
}

然后在table.js中:

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

我希望有帮助...

答案 1 :(得分:1)

您正在混合服务器端和客户端脚本语言。 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\";'>"

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

表单ID用于onclick

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

这将是你的onclick

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