0

HTMLで変数をインクリメントしたい..変数はphpで宣言されており、phpでインクリメントする必要があります...次のコードを記述します。

global  $indice_array_contact;
$indice_array_contact=0;
<img src="images/back1.png" onclick='left_clik()'>
<img src="images/back2.png" onclick='right_clik()'>
<SCRIPT LANGUAGE="JavaScript"> 
     <?php  $indice_array_contact=$indice_array_contact+1; ?>

            function left_clik()
             { document.getElementById("im1").src = "profiles_stored/executive.png";
                 document.getElementById("td1").innerHTML = "<?php echo $indice_array_contact ?>";
            <?php  $indice_array_contact=$indice_array_contact+1; ?>
             }


         function right_clik()
         { document.getElementById("im1").src = "profiles_stored/<?php echo $array_contact[0]->profile ?>";        
            document.getElementById("td1").innerHTML = "<?php echo $indice_array_contact ?>";
          <?php  $indice_array_contact=$indice_array_contact+1; ?>
         }

right_click ボタンをクリックすると、値は 1 になり、 left_click ボタンをクリックすると、値は 2 になります...しかし、right_click ボタンを 2 回クリックしても、値は 3 に変わりません。なぜですか?

4

2 に答える 2

2

あなたのコードは思い通りには機能しません。サーバー側のスクリプト ( php ) とクライアント側のスクリプト ( javascript ) が混在しています。

あなたの例で実際に何が起こるか:

  1. あなたの $indice_array_contact は、サーバーでのページ読み込み中に 1 ずつ増加します
  2. 関数 left_click() および right_click() は、サーバーで計算されるように、ページの読み込み中に document.getElementById().innerHTML で (おそらく) 2 の値を受け取ります -> これは、既に読み込まれたページでは変更されません!
  3. ボタンを押して left_click() または right_click() 関数をトリガーします -> サーバーがページの読み込み中に計算するため、innerHTML DOM プロパティは値 2 を受け取ります -> これは関数を実行するたびに発生します

ページをリロードせずに変更する必要があるものを探しているように見えるため、javascript のみを使用して実装をやり直してください。

于 2013-07-13T23:43:58.070 に答える
1

これにはPHPは必要ありませんか?このようなものは機能しません:

<img src="images/back1.png" onclick='left_clik()'>
<img src="images/back2.png" onclick='right_clik()'>
<SCRIPT type="text/javascript"> 
    var indice_array_contact = 0
    function left_clik()
     { 
        document.getElementById("im1").src = "profiles_stored/executive.png";
        document.getElementById("td1").innerHTML = indice_array_contact;
        indice_array_contact++;
     }


     function right_clik()
     { 
        document.getElementById("im1").src = "profiles_stored/executive.png";
        document.getElementById("td1").innerHTML = indice_array_contact;
        indice_array_contact++;
     }
于 2013-07-14T00:13:37.337 に答える