仅当我没有填写必填字段时,未定义的变量

时间:2012-05-27 10:59:49

标签: php jquery codeigniter

我正在使用代码点火器,我使用代码点火器形式帮助器创建了一个表单,并且我使用来自我的数据库的数据加载2个下拉框,这非常有效。当我填写所有字段时,它的工作原理。我目前有2个必填字段。其中一个不是必需的。当我填写所有必填字段时,它可以工作,但从我没有填写一个必填字段。它给出了这个错误:

A PHP Error was encountered
Severity: Notice
Message: Undefined variable: Cities
Filename: admin/adddivelocation_view.php
Line Number: 67

第67行的代码是:

 echo form_dropdown('duikplaats', $Cities, '', $attributes_dropdown_gemeente);

我在视图中看到了这样的$ cities:

    function addDiveLocation()
    {
      $data['Cities'] = $this->admin_model->getCity();
      $data['Countries'] = $this->admin_model->getCountries();
      $this->is_logged_in('admin/adddivelocation_view', $data);
    }

我的脚本,其中2个下拉菜单的值或属性更改为:

         $('#duikplaats').change(function(){
         var data = {
            'id': $(this).val()
         }


        $.get(CI.base_url + "/admin/changeCountry", data, function(content){
            console.log(content);
            $('#duikland option:selected').removeAttr('selected');
            $('#duikland option').filter(function(){
                return $(this).val() == content;
            }).attr('selected', true);
        });

    });

    //Wanneer Land gekozen word
    $('#duikland').change(function(){
        var data = {
            'id': $(this).val()
        }

        $.get(CI.base_url + '/admin/changeCity', data, function(content){
            $('#duikplaats').empty();
            var landen = $.parseJSON(content);
            $.each(landen, function(k, v){
                $('#duikplaats').append(
                    '<option value="' + k + '">'+ v + '</option>'
                    );
            });
        });
    });

和jQuery函数调用的2个函数: 的 changeCountry:

function changeCountry(){

      $query = $this->admin_model->getCountry($this->input->get('id'));

      $this->output->set_output($query->FK_LandID);

    }

changeCity:

function changeCity(){
      $query = $this->admin_model->getCities($this->input->get('id'));

      foreach($query as $object)
      {
        $data[$object->id] =  $object->Gemeente;
      }

      $data = json_encode($data);
      $this->output->set_output($data);
    }

2 个答案:

答案 0 :(得分:0)

错误消息显示没有定义$ Cities变量。我也无法在您发布的代码片段中找到$ Cities变量。

您需要定义类似$ Cities = $ data ['Cities']的内容;或者,因为您在函数中定义了$ data全局可用。从您发布的代码中可以清楚地看出这一点。

第二个下拉菜单是否适用于$ States?

答案 1 :(得分:0)

我找到了解决方案。当我发布我的表单时,它会通过验证功能,在成功发布时加载成功视图,或者在失败时加载原始视图。当它失败时它只加载视图但我忘了将任何数据提供给视图,因此它无法加载数据。

非常感谢!