我需要将输入文本复制到这样的数组:
如果输入为“12345”:
<input type="text" name="data1">
然后在文本输入(数组)中也写“12345”
<? foreach ($countries as $data2)
{
<input type="text" name="$data2['location'][]">
}
<script language="javascript">
function copy()
{
document.form1.data2.value=document.form1.data1.value
}
</script>
<form action="" method="post" name="form1">
<input type="text" name="data1" onKeyUp="copy()"/>
<br /><br>
<input type="text" name="data2">
</form>
没问题......
但如果是这样的话:
<input type="text" name="data2[]">
<input type="text" name="data2[]">
<input type="text" name="data2[]">
OR在数组PHP中,如下所示:
<?php foreach ($countries as $data2): ?>
<input type="text" name="<?php echo $data2['location'][] ?>" />
<?php endforeach ?>
不工作......
答案 0 :(得分:0)
您似乎需要在正确的位置打开和关闭PHP标记。如果HTML输入控件的名称为$data2['location'][]
,请尝试以下操作:
<?php foreach ($countries as $data2): ?>
<input type="text" name="<?php echo $data2['location'][] ?>" />
<?php endforeach ?>
所以,我已经在循环关键字(循环的开始和结束)之前和之后关闭了PHP模式。这意味着这些标签之外的所有内容都处于HTML模式,因此要获取控件的名称,我们需要再次打开标签。我选择使用<?php
而不是<?
,因为后者可以在某些服务器上关闭。但是,如果您不介意代码不可移植,可以坚持使用简短形式。
另请注意,我使用了更明确end
关键字的冒号。这是在视图层中构造循环的流行方法;对于普通的控制器代码,我建议你坚持普通的支架。