Codeigniter通过单击按钮更改表单操作

Cyb*_*kie 1 html javascript php forms codeigniter

我的表单中有2个提交按钮,我试图让每个按钮都使用不同的控制器方法.我试图避免使用多种形式.

我正在使用

<button type="submit" onclick="javascript: form.action='restore'">Restore</button>
<button type="submit" onclick="javascript: form.action='delete'">Delete</button>
Run Code Online (Sandbox Code Playgroud)

...哪个有效,但我不确定这是不是最好的方法.有什么想法吗?

VVL*_*eon 5

通常我想通过给按钮/输入标签命名attr来处理多个提交.通过这种方式,您可以在同一个控制器中提交和调用一个函数/操作,只需检查提交的按钮即可.例如:

<form id="your_form" action="your_controller/process" method="post">
<input type="submit" name="restore" id="restore" value="Restore" />
<input type="submit" name="delete"  id="delete" value="Delete" />
</form>
Run Code Online (Sandbox Code Playgroud)

然后在你的控制器中,会有一个名为"process"的函数执行此操作:

function process(){
  if(isset($_POST["restore"])) {
    //do your restore code
  }

  if(isset($_POST["delete"])){
    //do your delete code
  }   
}
Run Code Online (Sandbox Code Playgroud)

希望这会有所帮助.