2016-11-20 35 views
0

我在我的項目(PHP codeigniter)中有一個視圖,用戶可以從顯示的數據表中確認或刪除特定記錄。當用戶選擇確認一條記錄時,模式彈出框會顯示確認信息。點擊確認此模式下的按鈕將調用一個控制器方法,通過後續的模型方法調用適當地更新數據庫表。這同樣適用於視圖中的刪除功能。我已經實施並調用了所有相應的方法,但似乎沒有任何影響。Codeigniter中的模式確認框PHP

代碼在上下文

1.View

<body> 
    <div class="content" style="background-color: white"> 
     <div class="container-fluid" style="overflow-y: auto"> 

      <legend>Vacancies Applied</legend> 
      <div> 
       <form class="form-horizontal" id="viewVacancy"> 
        <?php echo $this->session->flashdata('msgconfirmed'); 
        echo $this->session->flashdata('msgremoved');?> 

        <table class="table" id="vacancyApplicationTable" > 
         <thead class="active"> 
         <tr style="background-color: lightblue;color: white" > 
          <th class="hidden-lg hidden-lg">ID</th> 
          <th>Company</th> 
          <th>Job Title</th> 
          <th>Applied Date</th> 
          <th>Closing Date</th> 
          <th>Status</th> 
          <th></th> 
          <th></th> 
         </tr> 
         </thead> 
         <tbody > 
         <?php 
         if(count($vacanciesApplied)>0) { 
          foreach ($vacanciesApplied as $row) { ?> 
           <tr> 
            <td class="hidden-lg hidden-lg"><a><?php echo $row->vid; ?></a></td> 
            <td><?php echo $row->onBehalfOf; ?></td> 
            <td><?php echo $row->jobTitle; ?></td> 
            <td><?php echo $row->appliedDate; ?></td> 
            <td><?php echo $row->closingDate; ?></td> 
            <?php 
            if ($row->status == "pending") 
            { 
             $status = "Pending"; 
             ?> 
             <td><?php echo $status ?></td> 
             <td></td> 
             <td><a data-toggle="modal" data-name="<?php echo $row->vid; ?>" data-id="<?php echo $row->studentId; ?>" title="Add this item" class="open-AddBookDialog btn btn-danger" href="#deleteVacancyApplication">Remove</a></td> 
             <?php 
            } 
            else 
            { 
             $status = "Accepted"; ?> 
             <td class="blink_text"><?php echo $status ?></td> 
             <td><a data-toggle="modal" data-name="<?php echo $row->vid; ?>" data-id="<?php echo $row->studentId; ?>" title="Add this item" class="open-AddBookDialog btn btn-info" href="#confirmVacancyStatus">Confirm</a></td> 
             <td><a data-toggle="modal" data-name="<?php echo $row->vid; ?>" data-id="<?php echo $row->studentId; ?>" title="Add this item" class="open-AddBookDialog btn btn-danger" href="#deleteVacancyApplication">Remove</a></td> 
             <?php 
            } 
            ?> 
           </tr> 
          <?php } 
         } 
         ?> 
         </tbody> 
        </table> 
       </form> 
      </div> 
     </div> 
    </div> 
</body> 

<script> 
    $(function() { 
     $('#vacancyApplicationTable').DataTable({ 
      "paging": true, 
      "lengthChange": true, 
      "searching": true, 
      "ordering": true, 
      "info": true, 
      "autoWidth":true 
     }); 
    }); 
</script> 

<script> 
    $(document).on("click", ".open-AddBookDialog", function() { 
     var studentId = $(this).data('id'); 
     var vid = $(this).data('name'); 
     $(".modal-body #uid").val(studentId); 
     $(".modal-body #vid").val(vid); 
    }); 
</script> 

<!-- Modal for confirmVacancyStatus --> 
<div class="modal fade" id="confirmVacancyStatus" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" data-keyboard="false" data-backdrop="false"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header" style="background-color:lawngreen"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
       <h4 id="uid"><i class="glyphicon glyphicon-check"></i>&nbsp;Confirm</h4> 
      </div> 
      <div class="modal-body"> 
       <form method="post" id="formConfirm" action="<?php echo base_url() . 'index.php/studentDashboardController/confirmVacancy'?>"> 
        <input type="text" name="vid" id="vid" value="" hidden/> 
        <div class="form-group"> 
         <p>You got Accepted to follow this vacancy</p> 
         <p>Do you confirm this?</p> 
        </div> 
       </form> 
      </div> 
      <div class="modal-footer"> 
       <button type="submit" class="btn btn-success pull-right">Confirm</button> 
      </div> 
     </div> 
    </div> 
</div> 

<!-- Modal for deleteVacancyApplication --> 
<div class="modal fade" id="deleteVacancyApplication" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" data-keyboard="false" data-backdrop="false"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header" style="background-color:red"> 
       <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> 
       <h4 id="uid"><i class="glyphicon glyphicon-remove"></i>&nbsp;Cancel</h4> 
      </div> 
      <div class="modal-body"> 

       <form method="post" id="form" action="<?php echo base_url() . "index.php/studentDashboardController/deleteVacancyRequest"?>"> 
        <input type="text" name="vid" id="vid" value="" hidden/> 
        <div class="form-group"> 
         <p>Are you sure you want to cancel your application for this vacancy</p> 
        </div> 
       </form> 
      </div> 
      <div class="modal-footer"> 
       <button type="submit" class="btn btn-danger pull-right">Cancel Application</button> 
      </div> 
     </div> 
    </div> 
</div> 

2.Controller- studentDashboardController/confirmVacancy

public function confirmVacancy() 
{ 
    if (isset($this->session->userdata['logged_in'])) 
    { 
     $uid = ($this->session->userdata['logged_in']['userId']); 

     $data['notifyCount']= $this->notifications->getUnreadNotification($uid); 
     $data['title']= $this->notifications->getUnreadNotificationTitle($uid); 
     $data['notifyCount']= $this->notifications->getUnreadNotification($uid); 
     $data['users'] = $this->user->getUserNames(); 

     $msg = $this->vacancyModel->confirmVacancyApplication($uid,$this->input->post()); 
     $msgText = $msg['msg']; 
     $msgType = $msg['type']; 
     //Loading View 
     if($msgType == "danger") 
     { 
      $this->session->set_flashdata('msgconfirmed', '<div class="alert alert-danger text-center">'.$msgText.'</div>'); 
     } 
     else 
     { 
      $this->session->set_flashdata('msgconfirmed', '<div class="alert alert-success text-center">'.$msgText.'</div>'); 
     } 

     redirect(base_url('index.php/studentDashboardController/displayVacanciesApplied')); 
    } 
    else 
    { 
     $this->load->view('login/loginView'); 
    } 
} 

3.Model- vacancyModel->共nfirmVacancyApplication

public function confirmVacancyApplication($uid, $post) 
{ 
    $vid = $post['vid']; 
    $data = array(
     'availability' => $vid+"" 
    ); 
    $this->db->where("uid", $uid); 
    $status = $this->db->update("studentprofile", $data); 
    if($status) 
    { 
     $msg = "You have successfully confirmed"; 
     $type = "success"; 
     $msgData = array(
      'msg' => $msg, 
      'type' => $type 
     ); 
     return $msgData; 
    } 
    else 
    { 
     $msg = "Sorry. This vacancy could not be confirmed"; 
     $type = "danger"; 
     $msgData = array(
      'msg' => $msg, 
      'type' => $type 
     ); 
     return $msgData; 
    } 
} 

接口

Confirm

在這方面的任何建議,將不勝感激。

回答

1

您正在關閉提交按鈕之前。 輸入類型=「提交」標籤後放置表格。它將工作

+0

感謝百萬。這樣一個微不足道的錯誤。 –

+0

請投票給我的答案。謝謝 – 438sunil