我的视图中有一个名为 Placeholder 的下拉菜单 -"add_fields_placeholder"
其值为yes和no。
When no is selected I would like the placeholder value to be left out of the $formData
array 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');
}
}
}