0

我的视图中有一个名为 Placeholder 的下拉菜单 -"add_fields_placeholder"其值为yesno

When no is selected I would like the placeholder value to be left out of the $formDataarray that generates the form html lines that are inserted into the database.

选择是时,我希望从占位符输入框中add_fields_placeholderValue提交到$formData数组中的文本。

我将如何实现这一目标?

  public function add()
    {

        $this->form_validation->set_rules('add_fields_name', 'Name', 'trim|required|xss_clean');
        $this->form_validation->set_rules('add_fields_value', 'Value', 'trim|xss_clean');
        $this->form_validation->set_rules('add_fields_class', 'Class', 'trim|xss_clean');
        $this->form_validation->set_rules('add_fields_placeholder', 'Placeholder', 'trim|required|xss_clean|callback_dropdown_check');
        $this->form_validation->set_rules('add_fields_type', 'Type', 'trim|required|xss_clean|callback_dropdown_check');

        if($this->form_validation->run() == FALSE)
        {
            $data['validation_errors'] = validation_errors('<div class="alert alert-error">', '</div>');
            $data['contentMangement'] = $this->options_model->systemOptions();
            $data['pageTitle'] = 'Add Fields';
            $this->load->view('_assets/dashHeader', $data);
            $this->load->view('dashboard/add_fields', $data);
            $this->load->view('_assets/footer');    


        }else{

            $fieldName = $this->input->post('add_fields_name', TRUE);
            $fieldValue = $this->input->post('add_fields_class', TRUE); 
            $fieldClass = $this->input->post('add_fields_defaultValue', TRUE);

            //Removes Caps & spaces
            $fieldNameStripped = strtolower(str_replace(" ", "", $fieldName));
            $fieldValueStripped = strtolower(str_replace(" ", "", $fieldValue));
            $fieldClassStripped = strtolower(str_replace(" ", "", $fieldClass));
            //Default Form Details

            $fieldLabel = '<label for="'. $fieldNameStripped . '">'. $fieldName. '</label>'."\n";

            $formData = array(
                                'name' => ''.$fieldNameStripped.'',
                                'id' => ''.$fieldNameStripped.'',
                                'value' => ''.$fieldValueStripped.'',
                                'class' =>''.$fieldClassStripped.'',
                                'placeholder' => ''
                            );


            if (isset($_REQUEST['add_fields_type']))
            {
                if($_REQUEST['add_fields_type'] == 'input')
                {
                    $fieldField = form_input($formData, TRUE);
                }

                if($_REQUEST['add_fields_type'] == 'textarea')
                {
                    $fieldField = form_textarea($formData, TRUE);
                }

                if($_REQUEST['add_fields_type'] == 'radiobutton')
                {
                    $fieldField = form_radio($formData, TRUE);
                }

                if($_REQUEST['add_fields_type'] == 'checkbox')
                {
                    $fieldField = form_checkbox($formData, TRUE);
                }

                $fieldTypeInsert = array(
                                        'name'  =>  ''.$fieldName.'',
                                        'type'  =>  ''.$_REQUEST['add_fields_type'].'',
                                        'label' =>  ''.$fieldLabel.'',
                                        'field' =>  ''.$fieldField.''   
                                        );

                $this->form_model->insertField($fieldTypeInsert);

                $data['validation_errors'] = '<div class="alert alert-success"><strong>Thank You</strong> Your Field Has Been Added</div>';
                $data['contentMangement'] = $this->options_model->systemOptions();
                $data['pageTitle'] = 'Add Fields';
                $this->load->view('_assets/dashHeader', $data);
                $this->load->view('dashboard/add_fields', $data);
                $this->load->view('_assets/footer');    

            }
        }
    }
4

1 回答 1

1

你可以做:

$dropdown = $this->input->post('add_fields_placeholder', TRUE);
$dropdown_value = '';
if ($dropdown == 'yes') {
    $dropdown_value = 'yes';
}

$formData = array(
                 'name' => ''.$fieldNameStripped.'',
                 'id' => ''.$fieldNameStripped.'',
                 'value' => ''.$fieldValueStripped.'',
                 'class' =>''.$fieldClassStripped.'',
                 'placeholder' => $dropdown_value
            );    
于 2012-08-08T07:04:32.977 回答