【问题标题】:How to use javascript in PHP class functions?如何在 PHP 类函数中使用 javascript?
【发布时间】:2011-09-26 14:25:51
【问题描述】:

如你所见,我有一个名为 table 的类;我有很多功能,“mainface”就是其中之一;这些功能就像我的界面一样,上面有一些复选框和组合框;我想在“全部”复选框 -> 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'>;

}
?>

【问题讨论】:

  • 虽然这可能看起来像 stackoverflow.com/questions/6545167/… 的副本,但事实并非如此,旧问题在关闭后已被编辑。
  • 是的,它是重复的,我的旧版本似乎很令人困惑;现在我明确我的问题并让 commmnet 可以理解
  • LAmureTJ:首先编写您的 HTML 和 Javascript:这是浏览器所看到的。 然后,围绕它编写你的 PHP:这是经过预处理的,可以帮助你自动生成 HTML 和 Javascript;在这个阶段,不要触摸您的 HTML 或 Javascript。
  • 现在看起来好多了

标签: php javascript oop class


【解决方案1】:

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

希望对你有帮助……

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2013-02-02
          • 1970-01-01
          • 2021-10-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-08
          • 2013-02-05
          相关资源
          最近更新 更多