我一直在试图弄清楚如何从javascript/jquery脚本中调用控制器中的函数。函数名为do_search,我需要从视图中的脚本调用它。它需要在else条件中调用。我在互联网上找到的都是使用 AJAX ,但无论如何我都会将用户转到一个新页面,所以我只需要调用函数。
我想提前感谢你阅读这篇文章,最重要的是感谢你的回复。
控制器
<?php
class Test extends CI_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$this->load->view('test_view');
}
public function do_search() {
<!-- Implementation of search query to the DB -->
$this->load->view('search_results_view');
}
}
检视
<body>
<form>
<div id="navigation_bar">
<div id="search">
<form>
<div id="do_search_btn" class="menu" style="display: none;">
<p id="center">Do Search</p>
</div>
<div id="search_field" class="menu" style="display: none;">
<input type="text" name="search_field_input" id="search_input" value="Type in here">
</div>
</form>
</div>
</div>
<script type="text/javascript">
$( "#do_search_btn" ).click(function() {
var input = $("[name='search_field_input']").val();
if(input ==""){
$("[name='search_field_input']").val("Enter search 1st");
}
else if(input=="Type in here")
{
$("[name='search_field_input']").val("Enter search 1st");
}
else if(input=="Enter search 1st")
{
$("[name='search_field_input']").val("Enter search 1st");
}
else {
<!-- CALL THE FUNCTION FROM THE CONTROLLER HERE PLEASE -->
}
});
</script>
</form>
</body>
1条答案
按热度按时间ddrv8njm1#
既然你使用的是jQuery,那么使用 AJAX 调用控制器中的函数就很简单了。
在控制器中,您可以访问发布的数据,如下所示:
#resultdiv
只是一个<div>
,如果需要,您可以将搜索结果放入其中。