6

我有一个带有简单输入和 select2 输入的表单,如下所示:http ://codepen.io/anon/pen/QyBxwE

在第一个输入集中时按 Enter 应该提交表单(在这种情况下,重定向到 404 页面)。

出于某种原因,多个 select2 输入会阻止表单提交。如果我删除select2类或multiple属性,表单会正常运行。

在 Safari、Chrome 和 Firefox 上的 Mac OS X Yosemite 上进行了测试,并且在所有浏览器上始终如一。

(我正在使用 jQuery 2.1.3 和 select2 4.0.1)

4

1 回答 1

4

表单的工作原理是,当您单击 Enter 时,它会尝试执行一些默认操作。第一步是提交表格。这仅在没有其他 JavaScript 阻止表单提交时才有效。Select2 multiple 通过防止默认来摆脱默认操作。这样,当您开始输入并单击 Enter 时,它不会自动提交。

解决方案是使用第二种类型的默认选项。那就是在页面上有一个提交按钮。带有转到最近的提交按钮的表单并单击它。此操作不会被 select2 JavaScript 覆盖。

http://codepen.io/anon/pen/yeqxQJ

只需添加<input type="submit">到您的表单中,它就应该按照您想要的方式工作。

于 2016-02-02T18:23:42.400 回答