php - 提交后显示提醒消息

标签 php jquery forms codeigniter

我在提交表单后显示警报消息时遇到问题。 我有一个用于提交报告的表单,提交后它将存储在表格中。我想要发生的是,提交报告后,每个新提交的报告都会有一条警报消息。我使用 CI 作为框架。这是我所拥有的:

查看:

<div class="row-fluid">
                    <button type="button" class="btn btn-primary col-lg-2" data-toggle="collapse" data-target="#add_form" onclick="add_clicked()">Submit Report</button><br />

                <div class="col-lg-6">
                    <?php
                    $attributes = array('class' => $class, 'id' => 'add_form', 'role' => 'form');
                    echo form_open('admin/report', $attributes);?>
                    <div class="form-group">
                        <input class="form-control" type="hidden" name="add_hidden" value="add-report">
                    </div>
                    <br><br>
                    <div class="form-group">
                        <?=form_input( array('id'=>'sender','class'=>'form-control' ,'name'=>'sender','type'=>'text','placeholder'=> 'Senders Name', 'value' => set_value('sender'), 'required'=> 'true') );?> <br />
                        <?=form_input( array('id'=>'date','class'=>'form-control date-picker','name'=>'date','type'=>'text','placeholder'=> 'Date', 'value' => set_value('date') ) );
                        $date = date('Y-m-d H:i:s');?><br />
                        <?=form_textarea( array('id'=>'subject','class'=>'form-control','name'=>'subject','type'=>'message-text','placeholder'=> 'Your Message here', 'value' => set_value('subject'), 'required'=> 'true') );?><br />


                    </div>
                    <div class="form-group">
                        <?=form_input( array('class'=>'btn btn-success','id'=>'add_submit','type'=>'submit','value'=>'submit')) ;?>
                    </div>
                    <?=form_close();?>
                </div>
                <div class="col-md-10 text-center" id="success" style="display:none">
                    <?php if(isset($message)) echo $message ?>
                </div>
            </div>
        </div>
    <br> <br>
        <div class="table-responsive">
            <table class="table table-hover table-striped">
                <thead>
                <tr>
                    <th style="text-align: center">Sender</th>
                    <th style="text-align:center">Subject</th>
                    <th style="text-align:center">Date</th>


                </tr>
                </thead>
                <tbody>
                <?php
                foreach ($query->result_array() as $row) {

                    echo '
                                                                    <tr>
                                                                            <td style="text-align:center">'.$row["sender"].'</td>
                                                                            <td style="text-align:center">'.$row["subject"].'</td>
                                                                            <td style="text-align:center">'.$row["date"].'</td>

                                                                    <td> &nbsp; &nbsp; &nbsp; <button type="button" class="btn btn-success btn-small" data-toggle="modal" data-target="#view'.$row["sender"].'"> Read </button> &nbsp; &nbsp; &nbsp;
                                                                            <button type="button" class="btn btn-danger btn-small" data-toggle="modal" data-target="#remove'.$row["sender"].'">delete</button></td>


                                                                    </tr>




                                                                    ';
                }
                ?>

这是我的 Controller :

public function report()
    {
        $this->load->model('report_model', 'database');
        $sql = "SELECT * FROM report";
        $data['query'] = $this->database->view_report($sql);

    if ($this->input->post('add_hidden')) {
        $this->form_validation->set_rules('sender', 'sender', 'required');
        $this->form_validation->set_rules('subject', 'subject', 'required');
        $this->form_validation->set_rules('date', 'date');

        $this->form_validation->set_error_delimiters('<div class="has-error" style="color: #FF0000">', '</div>');

        if ($this->form_validation->run() == TRUE) {

            //Setting values for table columns
            $data = array(
                'sender' => $this->input->post('sender'),
                'subject' => $this->input->post('subject'),
                'date' => $this->input->post('date'),


            );
            //Transfering data to Model
            $q = $this->database->add_report($data);
            $data['query'] = $this->database->view_report($sql);

            if ($q) {
                $data['message'] = '<h3> Your report has successfully submitted!</h3>';
                $data['success'] = '';
                $data['class'] = 'collapse';
                $this->load->view('report_view', $data);

            } else {
                $data['message'] = '<h3> Report submission unsuccessful!</h3>';
                $data['success'] = '';
                $data['class'] = 'collapse';
                $this->load->view('report_view', $data);
            }
        }
        else {
            $data['message'] = '';
            $data['success'] = 'none';
            $data['class'] = '';
            $this->load->view('report_view', $data);
        }

    }
    else if ($this->input->post('del_hidden')) {

        $from = $this->input->post('del_sender');
        $subject = $this->input->post('del_subject');
        $date = $this->input->post('del_date');

        $qry = "DELETE FROM report WHERE sender = '$from'";
        $q = $this->database->delete_report($qry);

        $sql = "SELECT * FROM report";
        $data['query'] = $this->database->view_report($sql);

        if ($q) {
            $data['message'] = '<h3> "' . $subject . '"message deleted from database!!</h3>';
            $data['success'] = '';
            $data['class'] = 'collapse';
            $this->load->view('report_view', $data);
        }

    } else {
        $data['success'] = 'none';
        $data['class'] = 'collapse';
        $this->load->view('report_view', $data);
    }

}`

最佳答案

实际上您正在 View 中显示消息;您的这部分代码就足够了。

<div class="col-md-10 text-center" id="success" style="display:none">
   <?php if(isset($message)) echo $message ?>
</div>

但是div的样式为display:none,因此不会显示。所以改成

<?php if(isset($message))
{
 ?>
    <div class="col-md-10 text-center" id="success">
       <?php  echo $message ?>
    </div>
<?php 
}
?>

如果您想要警报消息,则可以将其更改为

<?php if(isset($message))
{
 ?>
    <script>
       alert('<?php  echo $message ?>');
    </script>
<?php 
}
?>

关于php - 提交后显示提醒消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35028392/

相关文章:

java - 无法从 html 表单操作属性调用其余 Web 服务

security - 用户在网络应用程序中注册后通过电子邮件发送用户名和密码

php - htaccess 重写库

php - 上传与唯一 ID 关联的多个图像的过程

php - 表单提交后填写文件输入/表单提交错误

javascript - jQuery 不隐藏 div (mvc 4)

jquery - 在 anchor 单击时显示/隐藏子 UL

jquery - 如何在 MVC 应用程序中返回 JSON 并循环遍历 jQuery 中返回的 json?

php - PHP代码未执行,而是页面上显示了代码

ruby-on-rails - 嵌套注册表单不显示嵌套对象的错误消息