<form action="" method="post">
<?php
$abc = 10;
for($key=1;$key<=30;$key++)
{
?>
<input type="hidden" name="hidden_id" value="<?php echo $key;?>" />
<textarea name="vids" rows="4" cols="50"><?php echo $abc; ?> </textarea>
<?php
$abc++;
}
?>
<input type="submit" name="abc" />
</form>
上面的代码只返回textarea和hidden字段的最后一个值。 我希望更新textarea的隐藏字段值以及textarea的更新值。
请帮我解决问题。
答案 0 :(得分:0)
首先,您必须将name="hidden_id"
更改为name="hidden_id[]"
,将name="vids"
更改为name="vids[]"
。然后他们可以拥有多个值。当您提交表单hidden_id[]
时,vids[]
将返回数组。因此,你必须逐个循环访问它们。
<?php
if(isset($_POST['abc'])){
// $_POST['hidden_id'] return as a array
if(!empty($_POST['hidden_id'])){
foreach ($_POST['hidden_id'] as $id) {
echo $id;
}
}
// access textarea values
if(!empty($_POST['vids'])){
foreach ($_POST['vids'] as $text) {
echo $text;
}
}
}
?>
<form action="" method="post">
<?php
$abc = 10;
for($key=1;$key<=30;$key++)
{
?>
<input type="hidden" name="hidden_id[]" value="<?php echo $key;?>" />
<textarea name="vids[]" rows="4" cols="50"><?php echo $abc; ?></textarea>
<?php
$abc++;
}
?>
<input type="submit" name="abc" value="submit" />
</form>
答案 1 :(得分:0)
问题在于输入的名称,即name =“hidden_id”和name =“vids”。 您应该将它们更改为name =“hidden_id []”和name =“vids []”,以便它们保存多个值。请参阅以下代码
<input type="hidden" name="hidden_id" value="<?php echo $key;?>"/>
<textarea name="vids" rows="4" cols="50"><?php echo $abc; ?></textarea>