簡體   English   中英

PHP Javascript顯示/隱藏按鈕不起作用

[英]PHP Javascript Show/Hide button not working

這是我的PHP代碼:

<?php
require('connection.php');
$query="select title,content from blogs";
echo '<html><head>';
echo '<link rel="stylesheet" href="blog.css" />';
echo '<script type="text/javascript" src="blog.js"></script></head><body>';
$i=0;
if($result=$mysqli->query($query))
{
while($news=$result->fetch_row())
{
echo "<br /><br /><strong>". $news[0]."</strong><br /><br />";
if(strlen($news[1])>60)
{
    $d=0;
    $content=explode(" ",$news[1]);
    foreach($content as $c)
    {
        if($d<=60)
        {
            echo $c." ";
            $d++;
        }
        else
        {
            if($d==61)
            {

                echo "<div id=a$i style='visibility:hidden'>";
                echo "<a href='#' onclick='toggle(a".$i.")' style='visibility:visible'>Show/Hide</a>";

                $i++;

                $d++;
            }
            echo $c." ";
            $d++;
            if($d==count($content)+1)
            {
                echo "</div>";
            }

        }


    }
}
else
echo $news[1]."<br /><br />";

}
$result->close();
echo "</body></html>";

}
?>

這是我的JavaScript代碼:

function toggle(id)
{

    //document.getElementById('mcontent').value=x++;
    //if(x%2==0)
    document.getElementById(id).style.visibility="visible";
    //else
    //document.getElementById('mcontent').style.visibility="hidden";
};

顯示隱藏按鈕不起作用。我的策略是使用顯示隱藏按鈕限制包含60個以上單詞的文本。用戶單擊按鈕后,隱藏的div變為可見並且包含多余的文本(即60個單詞之后的文本) count).Div元素應始終以字母開頭,因此在此之前我要附加字母'a'。請幫我解決這個問題。

注意: 不需要Jquery解決方案或建議,我只需要調試上面的代碼即可。

您未找到要toggle的呼叫中的引號。

這將調用toggle(a0)而不是toggle("a0")

嘗試這個 :

echo "<a href='#' onclick=\"toggle('a".$i."')\" style='visibility:visible'>Show/Hide</a>";

由於我總是感到痛苦,無法處理這種水平的混合引號,因此,我寧願避免使用PHP中的內聯JavaScript。 您甚至可以使用document.getElementById('...').onclick=...來推遲添加處理程序,即使沒有jQuery也是如此。

這行的onclick屬性:

echo "<a href='#' onclick='toggle(a".$i.")' style='visibility:visible'>Show/Hide</a>";

...需要在toggle()的參數周圍加上雙引號,以便瀏覽器將其作為onclick='toggle("a1")'

echo "<a href='#' onclick='toggle(\"a".$i."\")' style='visibility:visible'>Show/Hide</a>";
echo "<div id='a" . $i . "' style='visibility:hidden'>"; 

toggle(a".$i.")是一個字符串。 您應該添加字符串定界符。 另外,您還應該在HTML標記中的屬性中添加引號:

echo '<div id="' . a$i . '" style="visibility:hidden">';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM