直到今天我才知道 JS 的位置会改变我的 html 页面的结果。我希望图像 src 在两个不同的 url 的“点击”之间切换。为什么这第一个代码像我想要的那样工作,而第二个却没有???第二个代码的源 html 为 var not_a_bad_word 生成一个空白字符串。
第一个代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>'Murica!'</title>
</head>
<body>
<?php
$dbhost = 'databasePlace';
$dbname = 'mine';
$dbuser = 'me';
$dbpass = '*****';
$link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
mysqli_select_db($link, $dbname);
$name = $_GET["fname"];
$query = sprintf(
"SELECT image_url, Type
FROM Pokemon c
WHERE c.name = '%s'",
mysqli_real_escape_string($link, $name));
$result = mysqli_fetch_assoc(mysqli_query($link, $query));
echo '<img id="pokemon_card" onclick="changeImage()" height="450"
width="330" src="' . $result['image_url'] . '"/>';
mysqli_close($link);
?>
<script>
function changeImage() {
element = document.getElementById('pokemon_card');
var not_a_bad_word = "<?php echo $result['image_url']; ?>";
if (element.src == "http://dmisasi.files.wordpress.com/2010/12/david-pokemon-card-back.jpg") {
element.src = not_a_bad_word;
}
else {
element.src="http://dmisasi.files.wordpress.com/2010/12/david-pokemon-card-back.jpg";
}
}
</script>
</body>
</html>
第二个代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>'Murica!</title>
<script>
function changeImage() {
element = document.getElementById('pokemon_card');
var not_a_bad_word = "<?php echo $result['image_url']; ?>";
if (element.src == "http://dmisasi.files.wordpress.com/2010/12/david-pokemon-card-back.jpg") {
element.src = not_a_bad_word;
}
else {
element.src="http://dmisasi.files.wordpress.com/2010/12/david-pokemon-card-back.jpg";
}
}
</script>
</head>
<body>
<?php
$dbhost = 'databasePlace';
$dbname = 'mine';
$dbuser = 'me';
$dbpass = '*****';
$link = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
mysqli_select_db($link, $dbname);
$name = $_GET["fname"];
$query = sprintf(
"SELECT image_url, Type
FROM Pokemon c
WHERE c.name = '%s'",
mysqli_real_escape_string($link, $name));
$result = mysqli_fetch_assoc(mysqli_query($link, $query));
echo '<img id="pokemon_card" onclick="changeImage()" height="450"
width="330" src="' . $result['image_url'] . '"/>';
mysqli_close($link);
?>
</body>
</html>