Codeigniter PHP中的模态确认框

时间:2016-11-20 03:12:25

标签: php html codeigniter modal-dialog confirm

我的项目中有一个视图(PHP codeigniter),用户可以从显示的数据表中确认或删除特定记录。当用户选择确认记录时,模态弹出框显示确认确认。单击此模式中的 Confirm 按钮将调用控制器方法,以通过随后的模型方法调用来适当地更新DB表。这同样适用于视图中的删除功能。我已经实现并调用了所有相应的方法,但它似乎没有任何影响。

上下文中的代码

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-&gt; confirmVacancyApplication

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 :(得分:1)

您正在关闭提交前按钮。 输入type =“submit”标签后放置表单。它会起作用