我正在为这个项目使用codeigniter。我有一个搜索表单和搜索表单结果。
现在当我点击搜索表单中的搜索时,我被重定向到搜索表单结果,我得到了结果。
是否可以在搜索表单中创建最初隐藏的div或表,然后调用搜索过程并返回结果以使其返回页面而不重新加载?
使用jquery / ajax / php?谢谢
答案 0 :(得分:2)
我假设您的搜索结果视图只包含搜索结果的HTML块(例如TABLE或某些,而不是带有BODY的完整HTML页面)?如果不更新视图,那么它只包含结果的代码。然后您可以使用$.post method提交表单获取视图,然后将其注入DIV(或您选择的元素):
$(document).ready(function() {
$('#myformid').submit(function() {
var seralizedForm = $(this).serialize();
var url = $(this).attr('action');
$.post(url, serializedForm, function(results) {
$('#resultsDiv').html(results);
}, "html");
return false;
});
});
这应该通过最少的修改插入到您的代码中。将“myformid”更改为您在表单标记上设置的ID,并将“resultsDiv”更改为您希望结果进入的空DIV的ID。
这样做是绑定在提交表单时要调用的函数(通过按Enter或单击提交按钮)。它将序列化表单(以便您可以将输入的值发送到控制器)并获取要通过表单的正常“action”属性提交的URL。
然后它会通过帖子将表单提交到该URL,结果将被加载到ID为resultsDiv的DIV中。
答案 1 :(得分:0)
是的,实际上是可能的。
对于CodeIgniter,我会写一个控制器功能&查看您想要显示的内容。然后,对页面进行AJAX调用,这将是您想要在页面上显示的内容,并将其加载到当前页面上。
如果您使用的是jQuery,可以查看他们的Various AJAX Functions以进行ajax调用并检索数据