2012-09-14 28 views
0

我有一个页面,显示使用codeigniter创建的用户的每月订阅。我想要做的是当用户点击付款时将隐藏文件中的值传递给控制器​​。将相关隐藏字段值从表单传递到控制器

<?php echo form_open('options/done');?> 
    <table class="tables"> 
     <thead> 
      <tr> 
       <th>Ref Code</th> 
       <th>Month</th> 
       <th>Year</th> 
       <th>action/th> 
      </tr> 
     </thead> 
     <tbody> 
      <?php foreach ($payments as $s =>$payment):?> 
       <?php $month = $payment['month'];?> 
       <input type="hidden" value="<?php echo $month;?>" name="month_<?php echo $s;?>" /> 
       <input type="hidden" value="<?php echo $payment['ref_code'];?>" name="ref_<?php echo $s;?>" /> 
       <tr> 
        <td><?php echo $payment['ref_code'];?></td> 
        <td><?php echo $month;?></td> 
        <td><?php echo $payment['year'];?></td> 
        <td><input type="submit" value="MAKE PAYMENT" class="red" /></td> 
       </tr> 
      <?php endforeach; ?> 
     </tbody> 
    </table> 
<?php echo form_close();?> 

所以当有人点击了提交按钮,我怎么能只传递这是有关该表行中的隐藏价值?

+0

移动你的表单标签进入foreach循环和incremenet形式ID名称呢? – Dave

+0

@Dave可以在表格内使用表格标签吗? – LiveEn

+0

绝对,见下面 – Dave

回答

2

添加表单只是你的循环内的<tr>元素中(见下面的代码)

<?php foreach ($payments as $s =>$payment):?> 
<?php $month = $payment['month']; 
?> 
    <tr> 
     <form action="target.php" method="post" name="formName_<?php echo $s;?>" > 
<input type="hidden" value="<?php echo $month;?>" name="month_<?php echo $s;?>" /> 
<input type="hidden" value="<?php echo $payment['ref_code'];?>" name="ref_<?php echo $s;?>" /> 
     <td><?php echo $payment['ref_code'];?></td> 
     <td><?php echo $month;?></td> 
     <td><?php echo $payment['year'];?></td> 
    <td><input type="submit" value="MAKE PAYMENT" class="red" /></td> 
     </form> 
    </tr> 
<?php endforeach; ?> 
+0

注意:假设你的代码的其余部分工作,我只是在正确的地方添加表单标签。只需确保您增加表单名称,并且每页可以有多个表单。 – Dave

+2

实际上,开放表单标签的位置应该在输入之前,否则它们不会以这种形式组。 他可以将输入放在打开窗体标记后面,或者将开始窗体标记放置在第二个php结束标记之后?> –

+0

您是对的,意味着将它们重新定位...编辑 – Dave

相关问题