2015-11-10 43 views
0

我正在使用CodeIgniter,我試圖創建一個動態生成的表,其中包含一個複選框,其值設置爲該行的第一列中的行號。當單個或多個複選框被選中,並點擊按鈕時,我試圖提出一個由幾個選擇字段和一個textarea組成的第二個表單。表單POST不顯示在控制器中

最終,當我提交表單時,我希望將複選框的值發送到我的控制器。但是,當我檢查控制器中POST字段的值時,我現在只會收到錯誤的值。

這裏是我當前的視圖代碼:

<form class="form" role="form" name="ticket_view" id="ticket_view" action="<?php echo site_url('example_controller/example_method'); ?>"> 
     <div class='table-responsive text-left'> 
      <table class='table table-hover table-bordered table-condensed supportTable'> 
       <thead> 
        <th>Select</th> 
        <th>Id</th> 
        <th class="text-center">Status</th> 
        <th>Source</th> 
       </thead> 
       <tbody> 
        <?php foreach($examples as $example): ?> 
         <?php if ($example->type == "test): ?> 
          <tr class="<?php echo alternator('oddRow', '');?>"> 
           <td class="text-center" style="width:60px;"><input type="checkbox" value="<?=$example->id;?>" name="supportTicketId[]" class="supportLogCheck"></td> 
           <td><a href=<?php echo site_url("example_controller/example_method/" . $example->idd); ?>>SUP-<?php echo $example->id; ?></a></td> 
           <td class="text-center"> 
            <?php if (! $example->claimed): ?> 
             <span class="label label-danger">Unclaimed</span> 
            <?php else: ?> 
             <span class="label label-success">Claimed</span> 
            <?php endif; ?> 
           </td> 
           <td><?php if ($example->voicemail): ?>Voicemail <?php else: ?>Email <?php endif; ?></td> 
          </tr> 
         <?php endif; ?> 
        <?php endforeach; ?> 
       </tbody> 
      </table> 
     </div> 
     <div class="text-center"> 
      <a class="btn btn-primary" id="firstButton" href="javascript:void(0);">First Button</a> 
     </div> 
     <div id="secondForm" class="alert alert-info col-md-4 col-md-offset-4" style="display:none; margin-top:10px;"> 
      <div class="form-group"> 
       <label for="closeIssue">Issue:</label> 
       <select name="issue" id="issue" class="form-control"> 
        <option value="">Select an Issue</option> 
        <?php foreach ($issues as $issue): ?> 
         <option value="<?php echo ($e->emailIssueId); ?>"><?php echo ($issue->emailIssueDescription); ?></option> 
        <?php endforeach; ?> 
       </select> 
       <label for="closeAction">Action:</label> 
       <select name="action" id="action" class="form-control"> 
        <option value="">Select an Action</option> 
        <?php foreach ($actions as $action): ?> 
         <option value="<?php echo ($action->emailActionId); ?>"><?php echo ($action->emailActionDescription); ?></option> 
        <?php endforeach; ?> 
       </select> 
      </div> 
      <div class="form-group"> 
       <label for="assignNote">Note:</label> 
       <textarea name="assignNote" id="assignNote" class="form-control"></textarea> 
      </div> 
      <div class="text-center"> 
       <input class="btn btn-primary" name="secondButton" type="submit" id="secondButton" value="second button"> 
      </div> 
     </div> 
    </div> 
</form> 

因此,概括地說,該表被包裹在一種形式。第一個按鈕向下滑動一個隱藏的 div,其中包含其他表單字段和提交按鈕。我希望當點擊提交按鈕時,可以發佈所有表單域,包括選中的複選框的ID號。

任何想法爲什麼這不起作用?有更好的建議嗎?

感謝您的幫助提前!

+1

你可以發佈你的控制器代碼嗎? – Jan

回答

1

您尚未在表單上定義方法,因此可能是通過GET傳遞值。您需要在form標籤中添加method =「post」屬性。

+0

謝謝,先生。總是樂於浪費一個小時,而不是那麼簡單! – jldavis76