这个标题可能没有多大意义,但我拥有的是一个动态生成的表单。我连接到一张产品表上,拉出那里的名字。然后,我创建了一个显示产品的表单,旁边有一个复选框和文本框。
<form id="twitter-feed" name="twitter-feed" action="<?php echo $this->getUrl('tweet/') ?>index/tweet" method="post">
<table><tr>
<?php
$model = Mage::getModel("optimise_twitterfeed/twitterfeed");
$products = $model->getProducts();
foreach ($products as $product){
echo '<tr>';
echo '<td>';
echo '<label for="'. $product .'">' . $product . '</label>';
echo '<br /><input type="text" class="hashtag" name="tags" id="tags" value="#enter, #product, #hastag"';
echo '</td>';
echo '<td><input type="checkbox" name="chk" id="'. $product .'"></td>';
echo '</tr>';
}
?>
<tr><td colspan="2"><input type="submit" name="submit" value="tweet"></td></tr>
</table>
</form>如您所见,每条记录都有复选框和文本字段。当我检查表单中的$_POST数据时,它只保留最后一条记录的字段。
有没有一种方法可以将所有这些数据传递回操作?
干杯,
琼斯
发布于 2010-11-19 22:00:27
使用name="chk[]",然后PHP将为您创建一个数组。
发布于 2010-11-19 22:02:25
将您的名称arrtibutes改为具有开始和结束方括号,如下所示:
name="tags"
name="chk"至
name="tags[]"
name="chk[]"这将使数组如下所示:
$_POST['tags'][0] = VALUE
$_POST['tags'][1] = VALUE
$_POST['chk'][0] = VALUE
$_POST['chk'][1] = VALUE发布于 2010-11-19 22:01:30
是的,您可以在name值的末尾设置括号。例如:
<input type="checkbox" name="chk[]" id="'. $product .'">然后在$_POST['chk']中得到一个数组作为结果。除此之外,ids应该始终是唯一的。您可以使用相同的名称,但应始终使用不同的ids。
https://stackoverflow.com/questions/4225644
复制相似问题