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

cod*_*boy 5 html forms accessibility

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

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

Gar*_*eth 5

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

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

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

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

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