display:none;
jQuery で制御されているためにページの読み込み時に設定されているプレースホルダー値入力ボックスがあり、プレースホルダー ドロップダウン ボックスが [はい] に選択されている場合に表示されます。
私の問題は、フォームに Codeigniter Validation を使用したことです。フォームにエラーがある場合、ページがリロードされ、プレースホルダー ドロップダウン ボックスには「はい」と表示されますが、プレースホルダー値入力ボックスは消えます。
私の最善の策は、「はい」が選択されている場合に入力ボックスを表示することを基本的に述べる callback_ 関数を作成することでしょうか?
jQuery:
$("#add_fields_placeholder").change(function()
{
if($(this).val() == "yes")
{
$('label[for="add_fields_placeholderValue"]').show();
$("#add_fields_placeholderValue").show();
}
else
{
$('label[for="add_fields_placeholderValue"]').hide();
$("#add_fields_placeholderValue").hide();
}
});
意見:
<label for="add_fields_placeholder">Placeholder: </label>
<select name="add_fields_placeholder" id="add_fields_placeholder">
<option value="">Please Select</option>
<option value="yes" <?php echo set_select('add_fields_placeholder','yes', ( !empty($placeholderType) && $placeholderType == "yes" ? TRUE : FALSE ));?>>Yes</option>
<option value="no" <?php echo set_select('add_fields_placeholder','no', ( !empty($placeholderType) && $placeholderType == "no" ? TRUE : FALSE ));?>>No</option>
</select>
<label for="add_fields_placeholderValue">Placeholder Text: </label>
<input type="text" name="add_fields_placeholderValue" id="add_fields_placeholderValue" value="<?php echo set_value('add_fields_placeholderValue'); ?>">
コントローラーの検証:
$this->form_validation->set_rules('add_fields_placeholder', 'Placeholder', 'trim|required|xss_clean|callback_dropdown_check');
$this->form_validation->set_rules('add_fields_placeholderValue', 'Placeholder Text','trim|xss_clean');