2017-07-14 9 views
1

以下は私のコードです。問題は、第1のjavascript [changeImage(i)] (firefoxとchromeで試しました)によって2番目のjavascript [changeText(i)]が実行されていないことです。私はスクリプトchangeText(i)の呼び出しも実行されていないと思う。あなたは私が上記の問題を見つけるのを助けることができますか? changeText(i)が実行されていない理由は何ですか?2番目のjavascriptが1番目のjavascriptによって呼び出されたときに実行されていません

<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> 
+0

最初にロードされる前に2番目のjavascriptをロードしてください – amoeba

+0

あなたのコードは私の期待通りに機能します。ブラウザのコンソールでエラーがないか確認してください。 @amoebaなぜですか? – yuriy636

+0

この場合には違いはありません... – epascarello

答えて

0

まあ今あなたが実際に編集で何が起こっているのかを示したことが、あなたのPHP構文エラー

"You pressed " + <?php echo "hai"; ?> + i; 

"You pressed " + hai + i; 
を生み出す原因になって見ることができます

と私はあなたがjavascript変数を持っているかどうかわからないhai。引用する必要があります。文字列を出力するにはjson_encodeを調べてください。

+0

を実行していることを示しています。php変数を例として文字列 "hai"に置き換えました。しかし、それでもハイはjavascriptで表示されません。基本的にPHPの変数や文字列が問題の更新されたコードに示されている場合、それは実行されません。 – djac

+0

はJavaScriptで引用符で囲む必要があるためです。 echoステートメントでjson_encodeを使って見てください。 '<?php echo json_encode(" hai ")?>;' – epascarello

+0

はい。それは問題を解決しました。ありがとう。 – djac

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"; 
 
\t \t \t 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>

+0

私は事件について述べました。私は、ケースbの呼び出しがないことを認識しています。 – djac

+0

申し訳ありませんが、私は大したことは見ませんでした。あなたのコードは完全に良い人です。 –

+0

まあ、この答えは、 – epascarello

関連する問題