【问题标题】:Making a customer feedback in codeigniter在 codeigniter 中进行客户反馈
【发布时间】:2018-06-29 17:09:39
【问题描述】:

我需要收集有关所提供服务的反馈。

在我看来,我有以下几点:

 <form method="post" enctype="multipart/form-data" class="form-horizontal" id="entryForm">
  <div class="panel-body text-center">
   <ul class="list-group list-group-flush text-center">
    <li class="list-group-item">
     <input type="button" name="feedback" value="1" class="btn btn-info">
     <input type="button" name="feedback" value="2" class="btn btn-info">
     <input type="button" name="feedback" value="3" class="btn btn-info">
     <input type="button" name="feedback" value="4" class="btn btn-info">
     <input type="button" name="feedback" value="5" class="btn btn-info">
    </li>
   </ul>
  </div>
 </form>

 <div class="panel-footer text-center">
  <button type="button" id="submit" class="btn btn-primary btn-lg btn-block">
   Submit
  </button>

在我的控制器中,我有以下内容:

    public function index(){
        $feedback = $this->input->post('feedback');
        $this->Feedback_model->addFeedback($feedback);
        $this->load->view('feedback/header');
        $this->load->view('feedback/survey');
        $this->load->view('feedback/footer');
    }

在我的模型中,我有以下内容:

  public function addFeedback($feedbackData){
    var_dump($feedbackData);
  }

我有一个响应按钮点击的js文件:

$(document).ready(function(){

 $("#submit").click(function(e){
     e.preventDefault();
     $("#entryForm").submit();
 });

});

我只想获取按钮的值。

【问题讨论】:

  • 你得到了什么输出?
  • 您的表单缺少“操作”属性,而且似乎也没有任何“提交”按钮。
  • @GrumpyCrouton 我得到 NULL。
  • type="button 更改为type="submit",是否解决了您的问题?
  • 如果表单发布到表单所在的同一页面,则不需要@DFriend 操作属性。

标签: php html codeigniter


【解决方案1】:

希望对您有所帮助:

1.更改您的按钮类型以提交并为其命名和值,如下所示:

<div class="panel-footer text-center">
   <button type="submit" name='action' value="submit" id="submit" class="btn btn-primary btn-lg btn-block">
   Submit
  </button>
</div>

2.你的提交按钮应该在form标签内

3.对于反馈表,您的按钮类型应为radiocheckbox,默认情况下其中一个应为checked

整个表格应该是这样的:

表单操作应该具有类似 action="&lt;?=site_url('welcome/index');?&gt;" 的 URL,其中 welcome 是您的控制器名称 如果 Welcome 不是您的控制器,请更改它:

<form action="<?=site_url('welcome/index');?>" method="post" enctype="multipart/form-data" class="form-horizontal" id="entryForm">
  <div class="panel-body text-center">
   <ul class="list-group list-group-flush text-center">
    <li class="list-group-item">
     <input type="radio" name="feedback" value="1" class="btn btn-info" checked>
     <input type="radio" name="feedback" value="2" class="btn btn-info">
     <input type="radio" name="feedback" value="3" class="btn btn-info">
     <input type="radio" name="feedback" value="4" class="btn btn-info">
     <input type="radio" name="feedback" value="5" class="btn btn-info">
    </li>
   </ul>
  </div>

 <div class="panel-footer text-center">
  <button type="submit" id="submit" name="action" value="submit" class="btn btn-primary btn-lg btn-block">
   Submit
  </button>
 </div>
   </form>

你的控制器的index应该是这样的:

public function index()
{
    if($this->input->post('action') === 'submit')
    {
        $feedback = $this->input->post('feedback');
        echo $feedback;
        die;
        $feedback = $this->input->post('feedback');
        $this->Feedback_model->addFeedback($feedback);
    }

    $this->load->view('feedback/header');
    $this->load->view('feedback/survey');
    $this->load->view('feedback/footer');
}

【讨论】:

  • 表格是否有效无关紧要。我目前设置的作品。如果我将输入从按钮更改为普通文本字段,它将正确捕获它。但是,当我将输入类型更改为按钮时,不会捕获与按钮对应的值。
  • 所以,我的回答对你有帮助吗
  • 它很有帮助。如果我用
  • 我不会将您的输入更改为普通文本,因为您不能将文本输入用于反馈表单单选类型更合适
  • 如果我的回答对您有帮助,请不要犹豫,将我的回答设为绿色
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-12
相关资源
最近更新 更多