select2 multiple 防止其他输入在输入时提交表单
select2 multiple prevents other input from submitting form on enter
我有一个带有简单输入和 select2 输入的表单,如下所示:http://codepen.io/anon/pen/QyBxwE
在第一个输入获得焦点时按 Enter 应该会提交表单(在这种情况下,重定向到 404 页面)。
由于某种原因,多选 2 输入阻止了表单提交。如果我删除 select2
class 或 multiple
属性,表单将正常运行。
在 Safari、Chrome 和 Firefox 上的 Mac OS X Yosemite 上进行了测试,它在所有浏览器上始终如一地发生。
(我正在使用 jQuery 2.1.3 和 select2 4.0.1)
表单的工作原理是,当您单击回车键时,它会尝试执行一些默认操作。第一步是提交表格。这仅在没有其他 JavaScript 阻止表单提交时才有效。 Select2 multiple 通过防止默认来摆脱默认操作。这样当您开始输入并单击回车时,它不会自动提交。
解决方法是使用第二种默认选项。那就是在页面上有一个提交按钮。转到最近的提交按钮并单击该表单。此操作不会被 select2 JavaScript.
覆盖
http://codepen.io/anon/pen/yeqxQJ
只需将 <input type="submit">
添加到您的表单中,它就会按您希望的方式工作。
我有一个带有简单输入和 select2 输入的表单,如下所示:http://codepen.io/anon/pen/QyBxwE
在第一个输入获得焦点时按 Enter 应该会提交表单(在这种情况下,重定向到 404 页面)。
由于某种原因,多选 2 输入阻止了表单提交。如果我删除 select2
class 或 multiple
属性,表单将正常运行。
在 Safari、Chrome 和 Firefox 上的 Mac OS X Yosemite 上进行了测试,它在所有浏览器上始终如一地发生。
(我正在使用 jQuery 2.1.3 和 select2 4.0.1)
表单的工作原理是,当您单击回车键时,它会尝试执行一些默认操作。第一步是提交表格。这仅在没有其他 JavaScript 阻止表单提交时才有效。 Select2 multiple 通过防止默认来摆脱默认操作。这样当您开始输入并单击回车时,它不会自动提交。
解决方法是使用第二种默认选项。那就是在页面上有一个提交按钮。转到最近的提交按钮并单击该表单。此操作不会被 select2 JavaScript.
覆盖http://codepen.io/anon/pen/yeqxQJ
只需将 <input type="submit">
添加到您的表单中,它就会按您希望的方式工作。