javascript
  • php
  • css
  • 2016-04-12 94 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

    相關問題