0

我的控制器中有一些语法:

  $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'))
  );

当我将它传递给我的视图时,这非常有效,所有数组元素都按预期变为变量。

我想做的是$this->input->post('submit')在 if 语句中使用,但$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');}

我做了什么蠢事吗?

一如既往地提前感谢,问候...

4

2 回答 2

1

不要使用提交,如果您有 3 个不同的提交值,则说明您在页面上运行了 javascript。最好使用隐藏变量。CodeIgniter 有它的局限性,这是你将不得不操纵表单助手的地方(至少据我所知)。如果有我不知道的解决方法,我深表歉意;但是,根据我的经验,这不是可以/应该与 PHP POST 数组一起使用的东西。

于 2013-04-17T06:02:46.283 回答
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>
于 2013-04-17T07:07:04.547 回答