使用codeigniter,我一直在尝试在foreach循环中加载一个视图,如下所示:
$posts = $this->postslibrary->getAllPosts();
foreach($posts as $post){
$home['content'][$i] = $this->load->view('post', $post['data'], true);
$i++;
}
$this->load->view('head');
$this->load->view('home', $home);
$this->load->view('footer');
每个帖子视图看起来都像这样:
<div class="postnum<?=$post_num?>">
<p>Posted by: <?=$poster_name?></p>
<p>Reply to: <?=$poster_name?></p>
<form>
<input type='text' />
<input type='submit' />
</form>
</div>
他们大部分时间都在“主页”视图中成功加载(以下是完整性)。
<div ="posts">
<?php
for($i=0;$i<$count;$i++)
{
echo($content[$i]);
}
?>
<div class="clear"></div>
<a href='/posts/browse/'>Load more items</a>
</div>
但我的输出最终看起来像:
<div class='posts'>
<div class='postnum1'>
<p>Posted By: Jim</p>
<p>Reply to Jim</p>
<input type='text' />
<input type='submit' />
</div>
</div>
为什么我的表单标签无法通过?
答案 0 :(得分:0)
检查您当前表单周围是否有表单。 Chrome是不接受此操作的浏览器之一,并删除了第二种形式。使用表单中的表单是不好的做法,我建议您找到一个不同的解决方案来进行表单处理。
答案 1 :(得分:0)
稍微留下场外答案,但请查看CodeIgniter Form Generator。我已经使用了几次,从数组生成表单似乎相当不错。开始时先了解它有点棘手,但是一旦你进入它就会很好。
基本思想是从普通控制器实现表单控制器,然后将其输出到视图文件中。它可能是一个更优雅(和可持续)的解决方案,你正在尝试。