codeigniter表单提交选定的下拉值

时间:2015-10-19 14:57:28

标签: javascript php jquery forms codeigniter

我需要创建一个具有下拉列表以选择记录的表单,并且当单击提交按钮时可以编辑。 一切正常,只是按钮没有得到选定的ID。

以下是我的表单截图:

enter image description here

查看:

<form action="<?php echo base_url();?>admin/edit_instrumento; ?>" method="post" id="instrumentos_form">
  <div class="col-lg-12 well">
    <div class="form-group">
      <div class="form-inline">
        <div class="form-group">
          <div class="formSep">
            <p><span class="label label-default">Selecione Usuário</span></p>
            <div class="">
              <div class="col-sm-12 col-md-12">
                <select class="uni_style" name="nome" id="user_drop">
                <option value="">Selecione</option>
                <?php foreach($users as $member){ ?>
                  <option value="<?php echo $member->user_id; ?>"><?php echo $member->nome; ?></option>
                <?php } ?>
              </select>
              </div>
            </div>
          </div>
            </div>
            <div class="form-group">
              <div class="formSep">
                <p><span class="label label-default">Selecione o Tag</span></p>
            <div class="">
              <div class="col-sm-12 col-md-12">
                <select class="uni_style" name="tag" id="tag_drop" >
                  <option value="">Selecione</option>
                  <?php 
                  $sl_class=$row['instrumento_id'];
                  ?>
                  <?php foreach($instrumentos as $instrumento){ ?>
                    <option value="<?php echo $instrumento['instrumento_id']; ?>"><?php echo "Tag: { ". $instrumento['tag']." }     &#8594;Instrumento: { ". $instrumento['instrumento_nome']." }"; ?></option>
                  <?php } ?>
                </select>
              </div>
            </div>
          </div>
        </div>
      </div>
      <hr class="hrmag"/>
      <div class="pull-right">
        <p><input class="btn btn-primary" type="submit" name="submit" value="Editar" /></p>
      </div><br/>
    </div>
  </div>
</form>

控制器:

public function instrumento($instrumento_id){
    $posts = $this->input->post();
    $lista = $this->instrumento_model->get_instrumento($instrumento_id);
    $html="";
    foreach ($lista as $k => $v) {
        $html.= '<option value="'.$v['instrumento_id'].'">'.$v['instrumento_nome'].'</option>';
    }
    echo $html;
}
function edit_instrumento($instrumento_id){
  $data['success']=0;
  if($_POST){
    $data_post = array(
        'user_id'          => $_POST['nome'],
        'instrumento_nome'      => $_POST['instrumento_nome']
    );
    $this->instrumento_model->update_instrumento($instrumento_id,$data_post);
    $data['success']=1;
    $this->load->view('admin/edit_instrumento',$data);
    redirect(base_url().'admin/h');
  }
  $data['instrumento']=$this->instrumento_model->get_instrumento($instrumento_id);
  $this->load->view('admin/edit_instrumento',$data);
}

型号:

function get_instrumentos(){
    $this->db->select('*');
    $this->db->from('instrumentos');
    $this->db->join("users", "users.user_id = instrumentos.user_id",'inner');
    $query = $this->db->get();
    return $query->result_array();  
}
function get_instrumento($instrumento_id){
    $this->db->select()->from('instrumentos')->where(array('instrumento_id'=>$instrumento_id));
    $query=$this->db->get();
    return $query->first_row('array');
}
function update_instrumento($instrumento_id,$data){
    $this->db->where('instrumento_id',$instrumento_id);
    $this->db->update('instrumentos',$data);
}

1 个答案:

答案 0 :(得分:0)

你的错误发布值

查看其tag

<select class="uni_style" name="tag" id="tag_drop" >

在控制器中instrumento_nome

'instrumento_nome'      => $_POST['instrumento_nome']

这是错误的,在两个地方使用相同的名称。

<强>解决方案

在视图中更改名称,

name="instrumento_nome" and in controller use as $_POST['instrumento_nome']

or 

name="tag" and in controller use as $_POST['tag']