私のビューには Placeholder と呼ばれるドロップダウン メニューがあり"add_fields_placeholder"
、値はyesとnoです。
noが選択されている場合$formData
、データベースに挿入されるフォーム html 行を生成する配列からプレースホルダー値を除外したいと思います。
はいが選択されている場合、プレースホルダー入力ボックスからのテキストを配列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');
}
}
}