如何在kohana 3.0中从一个表单调用一个控制器的不同动作方法

时间:2012-05-24 14:08:14

标签: php kohana-3

我有一个带有两个按钮的表单(add1,add2)。因此,当我点击按钮 add1 时,我想调用action_add1()并点击按钮 add2 调用action_add2()。这两个函数都是Controller_Welcome的一部分 我怎样才能做到这一点?

class Controller_Welcome extends Controller
{
    public function action_add1()
    {
       //some logic
    }
    public function action_add2()
    {
       //some logic
    }
}

2 个答案:

答案 0 :(得分:0)

使用JavaScript:

<input type="submit" name="add1" />
<input type="submit" name="add2" />

$('input:submit').click(function() {
  $('#myForm').setAttribute('action', 'add_' + this.name);
  $('#myForm').submit();
  return false;
});

我不确定确切的语法,但主要的想法就在这里。

答案 1 :(得分:0)

public function action_form() 
{
    $action = $this->request->query('action');
    if ($action && method_exists($this, 'action_'.$action))
    {
        $action = 'action_'.$action;
        return $this->$action();
    }
}

不需要Javascript,只需将表单数据发送到welcome/form,并将action参数作为按钮名称。