現在、私はajaxを使用してデータベース結果を取得しようとしています。 <td>
タグをクリックすると、Ajaxメソッドを使用して結果を取得します。現在、onchange
メソッドを使用しようとしましたが、テーブル行をクリックしても何も表示されません。私はそれを解決する方法を知ることができます。 タグAjaxを使用している場合の変更イベント
<!DOCTYPE HTML>
<html>
<head>
<script>
function showArtistDetails(str) {
if (str == "") {
document.getElementById("artist").innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("artist").innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","getArtist.php?q="+str,true);
xmlhttp.send();
}
}
</script>
</head>
<body>
<?php
require "pdoDB.php";
$categoryid = $_GET['q'];
$db = database::connect();
$albumsql = "SELECT c.catID, cd.catID, CDTitle, CDYear, CDPrice FROM tiptop_cd cd INNER JOIN
tiptop_category c ON c.catID = cd.catID WHERE c.catID = ?";
$stmt = $db->prepare($albumsql);
// $stmt->bindParam("catid", $categoryid);
$stmt->execute(array($categoryid));
echo "<table>
<tr>
<th>Album Title</th>
<th>Released Year</th>
<th>Price</th>
</tr>";
while ($row=$stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<tr style=\"cursor: pointer;\">";
// echo "<td>" . $row1['artistName'] . "</td>";
echo "<td onchange=\"showArtistDetails(this.value)\">" . $row['CDTitle'] . "</td>";
echo "<td>" . $row['CDYear'] . "</td>";
// echo "<td>" . $row1['pubName'] . "</td>";
// echo "<td>" . $row1['location'] . "</td>";
echo "<td>" . $row['CDPrice'] . "</td>";
echo "</tr>";
}
?>
<div id="artist"></div>
</body>
</html>
getArtist.phpアーティスト詳細を取得するには、データベースを保持しています。私は本当に誰か助けが必要です。前もって感謝します。現在、私はajaxを使ってアルバムの詳細を取得しています。次に、次のクリックされたアルバムからアーティストの詳細を取得するためにajaxメソッドを使用したいと思います。
それはまだ働いていません。それでも同じです – anonymous5671
私はちょうど1つの事を変更しました。 'this.value'に' this.innerHTML'を設定します。これを試して。また、 'alert'と' console.log() 'を使ってコードをデバッグします。 – Ali
私はそれを試みても警告メッセージに入りませんでした。 – anonymous5671