динамический выпадающий список элементов правильно.Когда форма отправлена, в раскрывающемся поле отображается нулевое значение - PullRequest
0 голосов
/ 30 декабря 2018

Используя Codeigniter и HMVC, я создал динамический раскрывающийся список в модуле и использую его в форме в другом модуле.Когда форма запускается, выпадающий список правильный, и вы можете выбрать нужный элемент.Когда шерсть sbmits, результат нулевой.

public function get_stat_form()
        {
            $data['status'] = $this->stati->find();
            $this->load->view('stat_form', $data);
         }

Вот код из выпадающего списка:

       <?php
        $attr = array(
            'name' => 'stati',
            'class' => 'form-control m-top-10',
        );

        $drop = array('' => 'Select a Status');
        foreach($status as $stat):
            $drop[$stat['status_id']] = $stat['status_name'];
        endforeach;

        echo form_dropdown($attr, $drop);
         ?>

Вот как он вызывается в другой форме модуля:

echo Modules::run('status/status/get_stat_form');

Вот контроллерфункция для формы:

$project       = $this->input->post('project');
$status_id     = $this->input->post('status');
$fn1           = $this->input->post('fn1');
$ln1           = $this->input->post('ln1');
$fn2           = $this->input->post('fn2');
$ln2           = $this->input->post('ln2');
$oaddress      = $this->input->post('oaddress');
$ocity         = $this->input->post('ocity');
$ostate        = $this->input->post('ostate');
$ozip          = $this->input->post('ozip');
$ohomephone    = $this->input->post('ohomephone');
$ocellphone    = $this->input->post('ocellphone');
$oemail1       = $this->input->post('oemail1');

$project_data = array(
    'project' => $project,
    'status_id' => $status_id,
    'fn1' => $fn1,
    'ln1' => $ln1,
    'fn2' => $fn2,
    'ln2'=> $ln2,
    'oaddress' => $oaddress,
    'ocity' => $ocity,
    'ostate' => $ostate,
    'ozip' => $ozip,
    'ohomephone' => $ohomephone,
    'ocellphone' => $ocellphone,
    'oemail1' => $oemail1,
  );

$data['project_data'] = $this->project->save($project_data);

if(!empty($data['project_data']))
{
$this->session->set_flashdata('ProjectAdded',
                    'You have successfully added a project..!!');
redirect('project_list');

1 Ответ

0 голосов
/ 30 декабря 2018

сначала проверьте, какая переменная имеет нулевое значение.я предполагаю, что ваша переменная $status_id является переменной для вашего выпадающего списка.

поэтому попробуйте изменить вашу переменную на вашем контроллере

$status_id = $this->input->post('status');

на эту

$status_id = $this->input->post('stati');
...