【问题标题】:Codeigniter pass form value as url segmentCodeigniter 将表单值作为 url 段传递
【发布时间】:2013-07-25 07:49:03
【问题描述】:

我对 codeigniter 有疑问。我想在下一页中将表单值(从下拉列表中)作为 URL 段传递。但是我搜索了高低,但找不到解决方案。

这是我的看法:

<?= form_open('admin_gallery_upload/upload_images/'); ?>
<?= form_label('Gallerij', 'gallery_id'); ?><br/>           
<?= form_dropdown('gallery_id', $select_dropdown); ?>
<?= form_submit('submit', 'Volgende',  'class="submit"'); ?>
<?= form_close(); ?>

我的控制器:

function upload_images() {
   $gallery_id = $this->input->post("gallery_id");
   echo $gallery_id;        
}

所以不是像在控制器中那样回显$gallery_id,它应该成为第三个url段

【问题讨论】:

    标签: codeigniter url


    【解决方案1】:

    试试这个并将选择框ID设置为gallery_id

    function redirectFunction(){
        var val  = document.getElementById("gallery_id").value;
        alert(val); //see if alerts the correct value that is selected from the dropdown
        window.location.href = '<?php echo base_url()?>admin_gallery_upload/upload_images/'+val;
    } 
    

    更改以下行,按照我所说的添加下拉列表的 id,

    $js = 'id="gallery_id" onChange="redirectFunction();"';
    form_dropdown('gallery_id', $select_dropdown,'',$js);
    

    【讨论】:

    • 这似乎没有任何作用
    • 我已经按照你的要求添加了,但是没有用
    • ReferenceError: $ 未定义
    • 我不再收到任何错误,但由于某种原因也没有任何反应
    • 更正;确实如此!谢谢:)
    【解决方案2】:

    默认情况下,您可以在表单打开函数中传递额外参数,它是帖子,见下面的代码:-

    <? $arr = array('method'=> 'GET');?>
    <?= form_open('admin_gallery_upload/upload_images/',$arr); ?>
    

    然后使用控制器进入控制器:-

    $this->input->get();
    

    【讨论】:

    • 有没有直接传递gallery_id的方法?因为我不知道如何只传递 id 而不是所有表单信息
    • 然后你必须传入简单的javascript函数galler_id并重定向它。
    猜你喜欢
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多