无法在脚本函数中传递PHP变量


unable to pass php variable in script function

我正在创建两个文本区域,id's-id1$i(当,$i=1)和id1$i(当,$i=2)。我想要的是一旦用户改变任何这些文本区域的文本它应该在警告框中显示该文本。下面是我的代码:

<?php
$i=1;
while($i)
    {
    echo '<textarea id="id1$i" onchange=Display("id1$i")></textarea>';
    echo "id1$i..<br>";
        if($i==2){break;}
     $i=2;
     }
?>
<input name="Submit" type="submit" value="Submit"/>
<script>
function Display(id1$i)
         {
             alert(document.getElementById("id1$i").value);
             }
</script>

现在当我试着运行这个…问题是当我在第一个文本区域框中输入"一"时,它显示"一",没关系.....但是当我在第二个文本区域框中输入"two"时,它仍然显示"one"…:mad::mad::mad::mad:…

我能想到的唯一原因是为什么它像数据一样发生的是函数Display(id1$i)不取$i=2的值…请帮助! ! . .

如果我使用像"id11"answers"id12"这样的专有名称(i。我不使用变量$ I在我的代码的任何地方,或者说如果我硬编码一切)..然后代码运行正常,它分别显示"one" "two"

你不能这样嵌入PHP。您需要使用<?php ?>标记,因此您需要更改:

function Display(id1$i)
// ...
alert(document.getElementById("id1$i").value);

:

function Display(id1<?php echo $i; ?>)
// ...
alert(document.getElementById("id1<?php echo $i; ?>").value);

要直接在字符串中使用变量,您只能使用",因此您可以执行以下操作之一:

'<textarea id="id1'. $i .'" onchange=Display("id1'. $i .'")></textarea>'
// or
"<textarea id='"id1$i'" onchange=Display('"id1$i'")></textarea>"