以下是我的代码。问题是,当第一个javascript [changeImage(i)]调用时,第二个javascript [changeText(i)]没有被执行 (我在firefox和chrome中试过它。)我认为甚至调用脚本changeText(i)也没有执行。你能帮我找出上面提到的问题吗? changeText(i)背后的原因可能是什么?
<html>
<head>
<title>Menu</title>
<script type="text/javascript">
function changeText(i)
{
switch(i)
{
case 'a': document.getElementById('hed').innerHTML = "Previous Month"+ <?php echo "hai"; ?> ;
break;
case 'b': document.getElementById('hed').innerHTML = "You pressed " + <?php echo "hai"; ?> + i;
break;
default: return false;
}
}
</script>
<script type="text/javascript">
function changeImage(i) {
var img = document.getElementById("img");
switch (i) {
case 'a':
img.src = "graph_bar.php";
changeText(i);
break;
case 'b':
img.src = "graph_bar1.php";changeText(i);
break;
default:
return false;
}
}
</script>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<input type="button" value="Previous-Day" onclick="changeImage('a');" />   
<input type="button" value="Previous-Month" onclick="changeImage('b');" />
<table style="width:100%">
<tr>
<th>Type of Index: <strong id="hed"> </strong></th>
<th>
</th>
</tr>
</table>
<div>
<img id="img">
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
您的更改文本未在案例b中执行,因为您没有在那里调用该函数。
<html>
<head>
<title>Menu</title>
<script type="text/javascript">
function changeText(i) {
document.getElementById('hed').innerHTML = "Previous Month";
switch (i) {
case 'a':
document.getElementById('hed').innerHTML = "Previous Month";
break;
case 'b':
document.getElementById('hed').innerHTML = "You pressed " + i;
break;
default:
return false;
}
}
</script>
<script type="text/javascript">
function changeImage(i) {
var img = document.getElementById("img");
switch (i) {
case 'a':
img.src = "https://placeimg.com/300/100/animal";
changeText(i);
break;
case 'b':
img.src = "https://placeimg.com/300/100/tech";
changeText(i);
break;
default:
return false;
}
}
</script>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<input type="button" value="Previous-Day" onclick="changeImage('a');" />   
<input type="button" value="Previous-Month" onclick="changeImage('b');" />
</div>
<table style="width:100%">
<tr>
<th>Type of Index: <strong id="hed"> </strong></th>
<th>
</th>
</tr>
<tr>
<td>Master Id : <strong id="hed1"> </strong></td>
</tr>
</table>
</div>
<img id="img">
</div>
</div>
</body>
</html>
答案 1 :(得分:0)
现在您已经展示了编辑实际发生的情况,您可以看到您的PHP导致语法错误
SELECT Fix(x) AS CRT, CDbl(ROUND((CDbl(x) - Fix(x)) * cf,1)) AS PCs
FROM (
SELECT 36 * 1.0 / 36 as x, 36 as cf
FROM myTable
WHERE 1 = 1
) AS t;
将产生
"You pressed " + <?php echo "hai"; ?> + i;
我怀疑你有一个javascript变量"You pressed " + hai + i;
。需要引用它。请查看使用json_encode输出字符串。