我有一个带有简单输入和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)
答案 0 :(得分:4)
表单的工作原理是,当您单击“输入”时,它会尝试执行某些默认操作。第一步是提交表格。这仅在没有其他JavaScript阻止表单提交时才有效。 Select2 multiple通过阻止默认操作来摆脱默认操作。这样当你开始输入并点击回车时,它就不会自动提交。
解决方案是使用第二种默认选项。那就是在页面上有一个提交按钮。表单,转到最近的提交按钮,然后单击该按钮。 select2 JavaScript不会覆盖此操作。
http://codepen.io/anon/pen/yeqxQJ
只需将<input type="submit">
添加到您的表单中,它就可以按照您希望的方式运行。