2010-06-01 137 views
0

想获得一个共识的最佳做法是在这种情况下什么:PHP:处理多个提交按钮

Muliple提交按钮,是它更好地具有针对的提交的每一个单独的形式处理这,或者可以有一个表单并检查哪个按钮被按下?

感谢您的输入:d

+0

为什么不创建'向导'类型的接口?使用“下一个”和“上一个”按钮也可以像提交按钮一样。 – 2010-06-01 01:42:45

回答

0

嗯,这取决于表单的内容,有2提交按钮会达到你想要什么的唯一方式。 (如果有文本框,你将如何获得2个表单......使用javascript复制输入的数据将是相当烦人的)

我会坚持只检查哪个按钮被按下,应该会更容易。

0

当然,它总是取决于目的。然而,作为一个规则的拇指,我做的自然的事情:

  • 如果有表单字段将由要么提交按钮提交,使用JavaScript和检测与处理程序按下提交按钮。
  • 所有其他情况下,使用不同的形式。

我尽量避免合并形式(第一个选项)为:

  1. 输入名称变更既影响提交目标网页,并要求双方的<form action="blah">页面的变化。
  2. JavaScript是不是总是在浏览器中启用
2

假设你只在PHP这样做,只是改变了值,每个按钮,并在后期检查是否存在:

if (isset($_POST['button1']) && $_POST['button1'] == "Previous") { 

    // do something 

} else if (isset($_POST['button1']) && $_POST['button1'] == "Next") { 

    // do something else 

} else { 

    // nothing has been submitted, display default 

} 
2

在我的案例我会这样做,类似于安德鲁希思,但我给你的按钮一个独特的名字。因此不需要& &子句

+1

这当然也起作用,而且是我在实践中所做的。我用相同的名字去强调能够让“一个”按钮以同样的形式做几件不同的事情。 – Drew 2010-06-01 07:04:52