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 按钮,值不会变为 3。为什么?

4

2 回答 2

2

您的代码永远不会按照您想要的方式运行 - 您将服务器端脚本 (php) 与客户端脚本 (javascript) 混合在一起。

在您的示例中真正发生了什么:

  1. 您的 $indice_array_contact 在服务器上的页面加载期间增加一
  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 回答