在HTML表单上放置多个提交按钮是不好的做法?

时间:2011-02-07 06:38:39

标签: html forms accessibility

我正在构建一个HTML多项选择测验,并且我知道一种技术可以让我使用多个提交按钮 - 每个答案对应一个问题。然后,我可以使用提交按钮值在PHP中处理表单,并确定用户选择了哪个答案。使用提交按钮的原因是它们可以适当地设置样式。

但是,我想知道从可访问性角度来看这是不好的做法吗?为问题的每个答案使用单独的表单会更好吗?这里有很多关于如何使用多个提交按钮的问题,但它们似乎没有解决这一点。

2 个答案:

答案 0 :(得分:4)

这绝对没问题,在很多情况下可以提高表单的可用性。但要小心,因为有几个陷阱:

  1. 如果使用回车键提交表单,则提交行为未定义。 HTML5确实定义了这种行为,它指定了大多数浏览器在这种情况下已经做过的事情:表单中的第一个提交按钮的名称/值应该作为提交的一部分发送。

    但是当使用回车键提交表单时,IE< = 8不会为任何提交按钮发送名称/值对。

    因此,您必须知道表单需要有一个“默认”操作,并且必须是第一个提交元素。

  2. 您无法使用此技术根据按下的按钮提交不同的操作。 Javascript理论上可以解决这个问题,但你不应该这样做(一个好的口头禅是,不使用Javascript来解决非Javascript问题

答案 1 :(得分:2)

如果使用键盘上的 Enter 键提交表单,并且服务器端收到的数据中没有提交按钮,您会怎么做?