私のサイトでは、リンクの onclick イベントを使用して JavaScript 関数を呼び出しています (リンクは外部の php ファイルからの WHILE ループ内にあります)。PHP の WHILE ループ内の onclick は、ユーザーの画像とユーザー名を、ShowUser() という JavaScript 関数に渡します。イベントはユーザー名と写真を正しく生成し、次のように div の innerHTML 内に配置します。
<script language="javascript" type="text/javascript">
function ShowUser(userpic,username) {
var TitleDesc1 = 'Click this photo to learn more about '+username+'';
document.getElementById('UserPicHolder').innerHTML = '<img class="TipTip"
title="'+TitleDesc1+'" src="'+userpic+'" style="width:60px; height:66px" alt="user
picture">';
}
</script>
これは正しく動作します。ただし、ユーザーの画像をクリック可能にしようとすると (onclick #2) (href を追加して) ユーザーのサイト統計を表示しようとすると、関数は統計ボックス (onclick#2 (DisplayUserStats ) JavaScript 関数内):
<script language="javascript" type="text/javascript">
function ShowUser(userpic,username) {
var TitleDesc1 = 'Click this photo to learn more about '+username+ '';
document.getElementById('UserPicHolder').innerHTML = '<a href="#null"
onclick="DisplayUserStats("'+username+'")"><img class="TipTip" title="'+TitleDesc1+'"
src="'+userpic+'" style="width:60px; height:66px" alt="user picture"></a>';
}
</script>
関数 DisplayUserStats() が ( DisplayUserStats() として) 空の場合、予想どおり、ユーザーの統計ボックス div が表示されますが、もちろん、ユーザー名が定義されていないため、統計は未定義です。DisplayUserStats() 内に任意のコンテンツが配置されているように見える場合にのみ、Stats Box div が開きません (たとえば、DisplayUserStats(dummystring) が Stats Box div を開きません)。他のいくつかの連結を試したことに注意してください (これは間違っていたと思います)たとえば、+username+ '+username+' username などです。変数usernameを関数 DisplayUserStats() に渡す方法を誰かが明らかにしてくれませんか?