javascript
  • php
  • css
  • 2016-04-12 58 views 0 likes 
    0

    我的函数使用mysqli查询请求子论坛名称来生成一个包含$ data的表。在onclick事件中运行PHP代码

    function forum_links($data){ 
    //print_r($data); 
    echo "<div id = 'sub_forums'> 
         <table>"; 
    foreach($data as $name){ 
    echo " 
         <tr> 
          <td id='sub_forum_image'> 
          <img src='images/favicon_text.ico' alt='MWGA'> 
          </td> 
          <td id='sub_forum_td'> 
          <a href='forum?forum={$name[0]}'>{$name[0]}</a> 
          </td> 
         </tr>"; 
    } 
    echo "</table></div>"; 
    } 
    

    当文本被点击IM如果varibale论坛设置检查,如果设置我想隐藏在div“sub_forums”

    <?php 
        if (isset($_GET['forum'])) { 
        echo "is set"; 
        ?> <script>sub_forum_hide();</script> <?php 
        } 
    ?> 
    

    我越来越

    Uncaught TypeError: Cannot read property 'style' of null.

    错误

    我认为这与我的文档的排序有关,因为我在其他部分使用了完全相同的隐藏style.display = "none"

    function sub_forum_hide(){ 
        document.getElementById("sub_forum").style.display = "none"; 
    } 
    

    我试着将sub_forum_hide()移动到我的文档底部,但我仍然得到相同的错误。仅供参考,“设置”回显在我点击文本时起作用。

    +5

    我注意到,在您的顶级代码段你的ID设置为'sub_forums'(复数),再后来尝试使用ID“sub_forum”隐藏它(单数)。 – claywhipkey

    +1

    [ID's Must Be Unique](http://stackoverflow.com/questions/5611963/can-multiple-different-html-elements-have-the-same-id-if-theyre-different-eleme),具体是因为它当您尝试与这些元素进行交互时,会在[JavaScript](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)和CSS中导致问题。 –

    +0

    此外(根据您的标题)使用JavaScript运行PHP代码的唯一方法是使用AJAX。 –

    回答

    1

    从你的代码的外观你没有任何ID为“sub_forum”的元素,这就是为什么它是空的。相反,你必须与ID =“sub_forums”一个div ...所以你的函数实际上应该是

    function sub_forum_hide(){ 
        document.getElementById("sub_forums").style.display = "none"; 
    } 
    

    也许你一个错字。

    下一次,尝试首先了解错误...会为您节省很多麻烦,并有助于调试。

    +0

    知道它必须是简单的东西:)非常感谢!一直盯着这里一个多小时 –

    +0

    很高兴帮助@CarlWirkus ...不要忘记标记为答案:) – AceKYD

    0

    将sub_forums更改为sub_forum。

    function forum_links($data){ 
    //print_r($data); 
    echo "<div id = 'sub_forum'> 
         <table>"; 
    foreach($data as $name){ 
    echo " 
         <tr> 
          <td id='sub_forum_image'> 
          <img src='images/favicon_text.ico' alt='MWGA'> 
          </td> 
          <td id='sub_forum_td'> 
          <a href='forum?forum={$name[0]}'>{$name[0]}</a> 
          </td> 
         </tr>"; 
    } 
    echo "</table></div>"; 
    } 
    
    1

    看起来像你的标题并不真正符合你的问题。

    为了解决你实际描述的问题,你需要纠正你的div的id,正如别人指出的那样。

    如果要执行从JavaScript一些PHP,你需要使用Ajax

    相关问题