在弹出的javascript中显示图片标题?

时间:2012-03-16 11:05:20

标签: php javascript mysql html

我在弹出javascript时出现问题。我希望弹出窗口显示图像原因/标题。

任何人都知道该怎么做?

代码:

<?
    $badgesql = mysql_query("select * from usr_badge where user = '$_SESSION[usr_name]'");
    $user = mysql_query("select * from usr_users where username = '$_SESSION[usr_name]'");
    $usr = mysql_fetch_array($user);
    $vipsql = mysql_query("select * from usr_vip where userid = '$usr[id]'");
    $vipcheck = mysql_num_rows($vipsql);
    $badgecheck = mysql_num_rows($badgesql);
    $checkit = $badgecheck + $vipcheck;
    if($checkit==0)
    echo("You have 0 Badges");
    if($badgecheck!=0)
    {
    while($badge = mysql_fetch_array($badgesql))
    {
    echo('<img src="/css/badges/'.$badge[badge].'" onclick="alert('.$badge[reason].');" />');   }
    }
    //Display VIP Badges
    if($vipcheck!=0)
    {
    $vipbadge = mysql_fetch_array($vipsql);
    $vip1 = mysql_query("select * from usr_vipdb where id = '$vipbadge[vipid]'");
    $vip2 = mysql_fetch_array($vip1);
    echo('<img src="'.$vip2[url].'" alt="This user is a VIP!" />');
    }
    ?>

提前致谢!

2 个答案:

答案 0 :(得分:1)

问题是您需要alert()内的一些引号。

echo('<img src="/css/badges/'.$badge['badge'].'" onclick=\'alert("'.htmlentities($badge['reason']).'");\' />');

另外,$badge[reason]是不好的做法(除非理由是我认为不变的常数)。使用上面示例中的单引号。

最后,在将内容打印到HTML时使用htmlentities()

答案 1 :(得分:0)

内联JavaScript并不完全合适。当您echo字符串时,onclick属性将包含类似于以下内容的值:

alert(image reason);

您需要用引号括起图像的原因才能使其正常工作。因此,您的代码应该是这样的:

echo '<img src="/css/badges/'.$badge[badge].'" onclick="alert(\''.$badge[reason].'\');" />'