【发布时间】:2014-12-15 18:36:37
【问题描述】:
我在一个视图中有这 2 个表单,但我很困惑,因为每次执行操作时只有第一个表单被接受。当我选择填写第二个表格时,它会将其路径重定向到第一个表格。下拉表单工作正常,但如果我尝试填写搜索表单,它会重定向到管理员中的下拉函数控制器,即 (admin_randc_dropdresult()),而不是重定向到控制器的搜索函数 (admin_randc_search())我一直在尝试解决这个问题,但我似乎找不到问题所在。任何帮助将不胜感激
这是我包含两个视图的视图
<div class="table-responsive">
<table border='1'>
<tr>
<td>
<?php include 'randc_dropdown.php';?>
</td>
<td>
<?php include 'randc_search.php'; ?>
</td>
</tr>
</table>
</div>
第一个视图
<?php echo form_open('admin/admin_randc_dropdresult'); ?>
<?php $options = array('0' => 'Choose Option',
'1' => 'Garden Plaza',
'2' => 'Cafe Treveno',
);
?>
<table border='1'>
<tr>
<td>
<div class="form-group">
<?php echo form_label("Select Restaurant:",'class="form-control"'); ?>
</div>
</td>
<td>
<div class="form-group">
<?php echo form_dropdown('restos', $options, '0', 'class="form-control"');?>
</div>
</td>
<td>
<div class="form-group">
<?php echo form_submit('admin_randc_dropdresult','Go','class="btn btn-info btn-sm" type="dropdown" id="Go"');?>
</div>
</td>
</tr>
</table>
<?php form_close();?>
第二个视图:
<?php echo form_open('admin/admin_randc_search'); ?>
<table border='1'>
<tr>
<td>
<div class="form-group">
<?php echo form_input('resto_name','','placeholder="Restaurant Name"','class="form-control"'); ?>
</div>
</td>
<td>
<div class="form-group">
<?php echo form_submit('Submit','Search','class="btn btn-info btn-sm" type="Search" id="Search"');?>
</div>
</td>
</tr>
</table>
<?php form_close();?>
这是我的控制器
public function admin_randc_dropdresult()
{
if($this->session->userdata('logged_in'))
{
$session_data = $this->session->userdata('logged_in');
$data2['username'] = $session_data['username'];
$options = array(
'0' => 'Choose option',
'1' => 'Garden Plaza',
'2' => 'Cafe Treveno',
);
$key = $this->input->post('restos');
$value = $options[$key];
$data['rc'] = $this->randc_model->randc_dropdown($value);
$this->load->view('rates_comments/randc_dropdownresult',array_merge( $data2,$data));
}
}
public function admin_randc_search()
{
if($this->session->userdata('logged_in'))
{
$session_data = $this->session->userdata('logged_in');
$data2['username'] = $session_data['username'];
$resto_name = $this->input->post('resto_name');
$data['rc'] = $this->randc_model->search_randc_specific($resto_name);
$this->load->view('rates_comments/randc_searchresult',array_merge( $data2,$data));
}
}
【问题讨论】:
-
这不仅仅是 CodeIgniter 的事情。页面上的 2 个表单通常很棘手。尝试让它们都提交到同一个 URL,并让一个控制器操作确定提交了哪个表单。
-
这就是我在分离视图之前所做的。现在将尝试再次这样做。谢谢! @mopo922
-
我完全理解试图分开。不过,可能比它的价值更麻烦!祝你好运。
标签: php forms codeigniter