发送数据通过提交使用颜色框阿贾克斯(sending data through submit usin

2019-10-17 13:53发布

HTML

<div class="cus_input">
    <form id="category_form" method="GET" action="<?php echo base_url(); ?>welcome/find/" >
        <input type="text" id="category_input" name="q" placeholder=" Find Category"/>
        <a type="submit" class="ajax cboxElement" id="category_submit" src="<?php echo base_url() ?>img/board/icons/add.jpg" value="" />
    </form>
</div>

调节器

    function find()
{
        $this->pageload_model->load_page();
        $getquery = $this->input->get("q");
        $data['find'] = $this->find_model->get_find_view($getquery);
        $page['content'] = $this->load->view("template/findtemplate.php", $data);
        echo json_encode($page);
}

该控制器正确生成我想要的结果,当你手动去到URI。 它在使用jQuery UI的对话框中尝试略作修改。 但是,我宁愿使用颜色框或在的fancybox这一点。

找到模型:

    public function get_find_view($q)
    {
        if (!$q) {
        $html = "Search disrupted: <a href='". base_url()."'>Go back to main page </a>";
        return $html;
        } else {
        $accountdata['found'] = $this->find_model->get_found_view($q);
        $accountdata['create_category'] = $this->find_model->get_create_category_view($q);
        return $this->load->view('find/find_view', $accountdata , TRUE);
        }
    }

在colobox AJAX JS应该是: $('ajax').colorbox()

我在2个区的AJAX类...直线上升的联系,这没有问题的作品,和上面所说的提交按钮。 我所希望做的是输入值发送给查找()控制器,加载页面,并通过颜色框窗口中打开它。 我最终想补充的改变pushState的,以使新的网址/网页可以被抓取和共享。

我有没有运气。 谢谢您的帮助! 将添加任何可能需要的代码。

Answer 1:

之前,所以我不是100%,在此我没有用颜色框。 我认为你需要做的是从序列化表单中的数据和处理Ajax请求自己什么。 因此,像这样:

HTML:

<div class="cus_input">
    <form id="category_form" method="GET" action="<?php echo base_url(); ?>welcome/find/" onsubmit="return category_form_submit();" >
    <input type="text" id="category_input" name="q" placeholder=" Find Category"/>
    <a type="submit" id="category_submit" src="<?php echo base_url() ?>img/board/icons/add.jpg" value=""/>
    </form>
</div>

JQUERY:

function category_form_submit() {  
    $.get('/welcome/find?' + $('#category_form').serialize(), function(response){
        $.fn.colorbox({html:response});
        //here is where you could put your pushstate code
    });
    return false;
}


文章来源: sending data through submit using colorbox ajax