【问题标题】:Codeigniter set_select not working with form validationCodeigniter set_select 不适用于表单验证
【发布时间】:2019-01-22 02:47:24
【问题描述】:

我正在使用 codeigniter 表单验证来验证选择选项是否具有值。 我在将所选选项的值传递给控制器​​时遇到问题,因此我创建了一个隐藏输入并使用 jquery 传递值 on_change。设置选择可以重新填充选择选项,但它不会将值重新传递给我的隐藏输入。我是新手,不知道最好的路线是什么?有没有办法在表单验证失败时将值从我的选择选项重新传递到隐藏输入?

这是我的看法:

$('#transfer_from_selector').on('change', function () {
var val = this.value;
$('#transfer_from_input').val(this.value);
});   

<select class="form-control" id="transfer_from_selector" name="transfer_from_selector">
                    <option value="" disabled="" selected="selected" class="">Transfer From</option>
                    <option value="1" <?php echo set_select('transfer_from_selector', 1); ?>class="">Richfield</option>
                    <option value="2" <?php echo set_select('transfer_from_selector', 2); ?>class="">Eagan</option>
</select>  

<input type="hidden" id="transfer_from_input" name="transfer_from_input" value=""> 

这是我的控制器:

$this->form_validation->set_rules('transfer_from_input', 'Transfer From', 'required|differs[transfer_to_input]');
$data = array(
    'transfer_from' => $this->input->post('transfer_from_input'),
);

【问题讨论】:

    标签: jquery codeigniter


    【解决方案1】:

    无需编写隐藏字段。使用带有名称的 aaray 选择选项。试试这个,我希望它会帮助你。

    <select class="form-control" id="transfer_from_selector" name="transfer_from_selector[]">
                        <option value="" disabled="" selected="selected" class="">Transfer From</option>
                        <option value="1" <?php echo set_select('transfer_from_selector', 1); ?>class="">Richfield</option>
                        <option value="2" <?php echo set_select('transfer_from_selector', 2); ?>class="">Eagan</option>
    </select> 
    

    【讨论】:

    • 我如何将它接收到控制器中?我有多个输入字段。当我在控制器中使用:'transfer_from' => $this->input->post('transfer_from_input') 时,出现数据库错误,因为它试图将数组插入字段。如何从数组中获取选定的键?
    【解决方案2】:

    我知道了,由于某种原因,我分配了一个 id 而不是一个名称,所以它没有正确传递值。无需将 name 设为数组。我删除了 jquery 代码并将选择值传递给我的控制器。

    【讨论】:

      猜你喜欢
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 2016-06-04
      相关资源
      最近更新 更多