我正在创建两个文本区域,其中id为-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>
现在当我尝试运行这个...问题是当我在第一个文本区域框中输入“one”时,它显示“one”,这没关系.....但是当我输入“2”时第二个文本区域框,它仍然显示“一个”......:mad :: mad :: mad:...
dat我能想到为什么它正在发生lyk dat的唯一原因是显示功能(id1 $ i)没有取值$ i = 2 ...请帮助!! ..
如果我使用正确的名称,如“id11”和“id12”(即我不在我的代码中的任何地方使用变量$ i或者说如果我对每个东西进行编码)..那么代码工作正常..它显示“一个“”两个“,分别是..
答案 0 :(得分:4)
你无法像这样嵌入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>"