使用colorbox ajax通过提交发送数据

HTML

<form id="category_form" method="GET" action="welcome/find/" > <a type="submit" class="ajax cboxElement" id="category_submit" src="img/board/icons/add.jpg" value="" />

调节器

  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对话框时稍微修改了一下。 但是,我更倾向于使用colorbox或fancybox。

找模型:

  public function get_find_view($q) { if (!$q) { $html = "Search disrupted: Go back to main page "; 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类…一个直接链接,没有问题,以及上面提到的提交按钮。 我要做的是将输入值发送到find()控制器,加载页面,并通过颜色框窗口打开它。 我最终会在pushstate中添加一个更改,以便可以对新的URL /页面进行爬网和共享。

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

我之前没有使用过彩盒,所以我不是百分之百。 我认为你需要做的是从表单序列化数据并自己处理ajax请求。 所以这样的事情:

HTML:

  

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; }