我正在开发一个web应用程序,但遇到了一些小障碍。我正在使用CodeIgniter。
我想有2个按钮,将执行2个不同的功能,做不同的事情到数据库。我在适当的控制器文件中设置了这些函数。
让按钮执行它们各自的功能的最好方法是什么?如果它需要javascript,我没有问题,只是需要一些指针,因为我有点困惑这里!
如果他们正在更改数据库中的记录,您可能应该将它们作为表单(或两个)的一部分实现。潜在的破坏性操作不应该仅仅使用一个简单的GET请求就可以执行。
表单可以包含一个隐藏的输入类型来指定你想在控制器中输入的内容。
HTML页面:
<form action="controller/myfunction" method="POST">
<input type="hidden" name="action" value="one">
<input type="submit" value="Do action one">
</form>
<form action="controller/myfunction">
<input type="hidden" name="action" value="two">
<input type="submit" value="Do action two">
</form>
控制器:
function myfunction()
{
// Your form would be submitted to this method...
// Get action from submitted form ('one' or 'two')
$action = $this->input->post('action');
// Decide what to do
switch ($action)
{
case 'one': $this->my_first_action(); break;
case 'two': $this->my_second_action(); break;
}
}
function my_first_action()
{
// Do stuff...
}
这将是一个很好的做法,重定向到另一个页面,一旦表单已经提交-使用'Post/redirect/Get'模式。