【问题标题】:codeigniter form to submit selected dropdown value提交所选下拉值的 codeigniter 表单
【发布时间】:2015-10-19 14:57:27
【问题描述】:

我需要制作一个表单,它有一个下拉菜单来选择记录,当点击提交按钮时可以进行编辑。 一切正常,只是按钮没有获得选定的 id。

这是我的表单截图:

查看:

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

【问题讨论】:

    标签: javascript php jquery forms codeigniter


    【解决方案1】:

    您的帖子价值错误

    鉴于其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']
    

    【讨论】:

    • 嗨,是的,我只是在尝试,但它仍然无法正常工作,您是否认为它是 instrumento_nome,因为它甚至无法正常工作。问题是Editar底部无法获取我选择的instrumento_id。
    • 你在这两个地方都有变化吗??视图和控制器??
    • 是的,下拉列表已经用 JS 获取了他的数据,所以这没有问题。我需要的是,从下拉列表中选择并按底部的“编辑器”后,我可以编辑其他表单。
    • 我总是使用 foreach 来使用表格,并且可以添加底部进行编辑。但在这种情况下,我做的不同......想要一个下拉菜单,当我选择选项并按否时,按钮可以转到另一个表单进行编辑。
    • 第二个下拉菜单来自 ajax 吗??
    猜你喜欢
    • 2015-08-16
    • 2013-04-13
    • 1970-01-01
    • 1970-01-01
    • 2016-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-31
    相关资源
    最近更新 更多