2012-03-16 2 views
0

JavaScriptのポップアップに問題があります。ポップアップに画像の理由/タイトルを表示します。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!" />'); 
    } 
    ?> 

ありがとう!

+0

を正確に問題は何ですか? – JJJ

+0

こんにちは。上のコードはうまく動作しますが、javascriptのポップアップで画像のタイトルは表示されません。私は画像をクリックすることができるようにしたいと思うし、ポップアップはタイトル/理由と表示されます。 –

+0

ポップアップを表示するためにプラグインを使用していますか – Nemoy

答えて

1

問題は、alert()の中にいくつかの引用符が必要なことです。

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

また、$badge[reason]は悪い習慣(理由は、私があるとは思わない一定である場合を除く)です。上の例のように一重引用符を使用してください。

最後に、コンテンツをHTMLに印刷するときは、htmlentities()を使用します。

+0

この画像はエラーがありませんが、画像をクリックするとポップアップされません。何も起こっていない! –

+0

@NicholasPandie私の間違い、私は訂正して答えを編集しました。 – MrCode

0

インラインJavaScriptは正確には適切ではありません。あなたecho文字列がonclick属性のようなものに見える値が含まれます場合は:

alert(image reason); 

をあなたはそれが正しく動作するために引用符で画像の理由を囲む必要があります。このように、あなたのコードではなく、次のようになります。

echo '<img src="/css/badges/'.$badge[badge].'" onclick="alert(\''.$badge[reason].'\');" />' 
関連する問題