在codeigniter中以隐藏形式发布值

时间:2015-04-19 16:23:50

标签: php jquery codeigniter

我试图以隐藏的形式发布值,但是。我无法获得控制器中的值,我是codeigniter的新手并且我不确定我是否正在做正确的事。

我的观点是:

<tbody>
<?php foreach ($users as $user):
$id= $user['id']; ?>
<tr>

<td><?php echo $user['name'];?></td> 
<td><?php echo $user['sum_cmmnt']  ?>
<form class="add_cm" action="<?php echo base_url();?>comments/cmnt/" name="comm" method="post" >
    <a href="#" data-toggle="modal" data-target="#manage_cmnt">
        <input type="button" class="btn" name="user_id" value="<?php echo $id; ?>"/>
单击此按钮将打开一个弹出窗口,其中包含所有列出的用户评论。当我使用固定的Id值时,它正在工作,但使用它,它无法在控制器中发布值。

我的控制器是:

public function index()
    {
$this->load->model('modl_name');
$id = $this->input->post('user_id');
$this->data['users']=$this->modl_name->function($id);

我在控制器中没有得到这个值。如果我在这里使用固定值它的工作正常。

请帮助我......或者如果这不对我建议其他选择..

2 个答案:

答案 0 :(得分:0)

输入字段类型不正确,您使用了按钮而不是隐藏字段。正确的语法是:

<input type="hidden" name="user_id" value="<?php echo $id; ?>"/>

答案 1 :(得分:0)

您的观看代码令人困惑。您打开了锚点 <a> 标记,该标记与模式挂钩,并在锚点内添加了一个按钮。我相信,如果您希望按钮提交带有user_id值的帖子,您必须更改输入类型,如下所示:

<a href="#" data-toggle="modal" data-target="#manage_cmnt">Show Comments</a>
 <input type="submit" class="btn" name="user_id" value="<?php echo $id; ?>"/>

并将其保留在锚标记之外以允许元素触发。请记住,这会将id显示为按钮的标题。要避免它,您可以使用

<button class="btn" type="submit" value="<?php echo $id;?>">Your Submit Text</button>

试试这个并让我们了解它的工作原理。