2016-11-20 3 views
0

Ich habe eine Ansicht in meinem Projekt (PHP codeigniter), wo der Benutzer einen bestimmten Datensatz aus der Tabelle der angezeigten Daten bestätigen oder entfernen kann. Wenn der Benutzer entscheidet, einen Datensatz zu bestätigen, erscheint ein modales Popup-Fenster, das die Bestätigung bestätigt. Durch Klicken auf die Schaltfläche Confirm in diesem Modal wird eine Controller-Methode aufgerufen, um die DB-Tabelle über einen entsprechenden Modellmethodenaufruf entsprechend zu aktualisieren. Dasselbe gilt für die Remove-Funktionalität in der Ansicht. Ich habe alle entsprechenden Methoden implementiert und aufgerufen, aber das scheint keine Auswirkungen zu haben.Modal Confirm Box in Codeigniter PHP

-Code in Zusammenhang

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-> co 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; 
    } 
} 

Schnittstellen

Confirm

Irgendwelche Vorschläge in dieser Hinsicht wird sehr geschätzt.

Antwort

1

Sie schließen die Schaltfläche vor dem Senden. Put Formular nach Eingabe Typ = "Submit" -Tag. Es wird funktionieren

+0

Dank eine Million. Solch ein trivialer Fehler. –

+0

Bitte stimme zu meiner Antwort. Vielen Dank – 438sunil