我的控制器中有一些语法:
$data = array(
'submit' =>$this->input->post('submit'),
'period' =>$this->input->post('period'),
'buom' =>$this->input->post('buom'),
'creditlimit' => $this->sales_model->get_creditlimit($this->input->post('customer'))
);
当我将它传递给我的视图时,这是完美的,所有数组元素都按预期变为变量。
我想要做的是在if语句中使用$this->input->post('submit')
,但$this->input->post('submit')
不输出到控制器本身,只输出视图。
如果我只是执行以下操作:
echo $this->input->post('submit');
即使视图正常显示帖子,PHP也不返回任何值?
如何将此帖子值提供给我的控制器并对其执行逻辑。
我的总体目标是我的提交表单有三个不同的提交按钮。根据他们点击的提交按钮,我想为每个提交加载不同的视图。
如下所示:
if($this->input->post('submit')==="option1")
{$this->load->view('view1');}
else
{$this->load->view('view2');}
我做了些蠢事吗?
一如既往地感谢,问候......
答案 0 :(得分:1)
不要使用提交,如果您有3个不同的提交值,则您在页面上运行了javascript。最好使用隐藏变量。 CodeIgniter有它的局限性,你需要操作表单助手(至少据我所知)。如果有一种我不知道的方法,我道歉;但是,根据我的经验,这不是可以/应该与PHP POST阵列一起使用的东西。
答案 1 :(得分:0)
<SCRIPT>
function submitFunction(i) {
if (i==1) document.theForm.action=
"http://www.company.com/cgi-bin/cgi1.cgi";
if (i==2) document.theForm.action=
"http://www.company.com/cgi-bin/cgi2.cgi";
if (i==3) document.theForm.action=
"http://www.company.com/cgi-bin/cgi3.cgi";
document.theForm.submit()
}
</SCRIPT>
<FORM NAME="theForm">
<INPUT TYPE="button" VALUE="Submit 1" onClick="submitFunction(1)">
<INPUT TYPE="button" VALUE="Submit 2" onClick="submitFunction(2)">
<INPUT TYPE="button" VALUE="Submit 3" onClick="submitFunction(3)">
</FORM>