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

4

你看到我有一个名为table的类,其中包含许多函数,“mainface”是其中之一;这些函数就像我的接口,上面有一些复选框和组合框;我想在“全部”复选框中写一些JavaScript -> onclick=" "
我希望当用户单击“全部”复选框时,选项将从屏幕上消失,但我找不到实现它的方法。
是否有任何方法可以实现此功能? 我能够通过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'>;

}
?>

虽然这看起来像是 http://stackoverflow.com/questions/6545167/how-to-run-javascript-function-into-php-class-function 的重复,但实际上不是,较旧的问题在关闭后进行了编辑。 - user456814
是的,它是重复的,我的旧问题似乎非常令人困惑;现在我澄清了我的问题并对其进行了评论以使其易于理解。 - bluedoor
LAmureTJ:先编写您的HTML和Javascript:这是浏览器看到的内容。然后,编写您的PHP代码:这是预处理的,可以帮助您自动生成HTML和Javascript;在此阶段,请勿修改您的HTML或Javascript。 - Lightness Races in Orbit
那看起来好多了。 - Henry
4个回答

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

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

0

form 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\";'>"

0

这样做是可行的,但像那样内联打印JavaScript是丑陋的,我真的建议您研究不显眼的JavaScript并使用类似jQuery的东西。适用于所有复选框的Jquery示例:

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接