当第一个javascript调用第二个javascript时,它没有被执行

时间:2017-07-14 11:45:50

标签: javascript html

以下是我的代码。问题是,当第一个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');" />&nbsp &nbsp
      <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>

2 个答案:

答案 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');" />&nbsp &nbsp
      <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输出字符串。