emi*_*emi 6 javascript forms jquery jquery-select2-4 select2
我有一个简单的输入和一个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)
表单的工作原理是,当您单击 Enter 时,它会尝试执行一些默认操作。第一步是提交表格。仅当没有其他 JavaScript 阻止表单提交时,此方法才有效。Select2 multiple 通过防止默认来摆脱默认操作。这样,当您开始输入并单击 Enter 时,它不会自动提交。
解决方案是使用第二种默认选项。也就是页面上有一个提交按钮。该表单转到最近的提交按钮并单击该按钮。此操作不会被 select2 JavaScript 覆盖。
http://codepen.io/anon/pen/yeqxQJ
只需添加<input type="submit">到您的表单中,它就会按照您想要的方式工作。