从另一个视图中加载带有表单的codeigniter视图

时间:2012-06-22 18:10:41

标签: codeigniter

使用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>

为什么我的表单标签无法通过?

2 个答案:

答案 0 :(得分:0)

检查您当前表单周围是否有表单。 Chrome是不接受此操作的浏览器之一,并删除了第二种形式。使用表单中的表单是不好的做法,我建议您找到一个不同的解决方案来进行表单处理。

答案 1 :(得分:0)

稍微留下场外答案,但请查看CodeIgniter Form Generator。我已经使用了几次,从数组生成表单似乎相当不错。开始时先了解它有点棘手,但是一旦你进入它就会很好。

基本思想是从普通控制器实现表单控制器,然后将其输出到视图文件中。它可能是一个更优雅(和可持续)的解决方案,你正在尝试。