动态下拉列表正确列出了项目。当表单提交下拉列表字段为空时。

时间:2018-12-29 21:19:39

标签: php forms codeigniter hmvc

我使用Codeigniter和HMVC在一个模块中创建了一个动态下拉菜单,并在另一个模块的表单上使用了它。当表单运行时,下拉列表是正确的,您可以选择所需的项目。当Furm发出信号时,结果为null。

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 :(得分:0)

首先,检查哪个变量具有空值。 我认为您的变量$status_id对于您的下拉菜单是可变的。

因此,请尝试在控制器上更改变量

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

对此

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