select2 multiple阻止其他输入在输入时提交表单

时间:2016-02-02 16:55:59

标签: javascript jquery forms 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)

1 个答案:

答案 0 :(得分:4)

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

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

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

只需将<input type="submit">添加到您的表单中,它就可以按照您希望的方式运行。

相关问题