bootstrap-tagsinput表单按下输入键

Moj*_* it 5 forms input bootstrap-tags-input

在bootstrap-tagsinput按下输入密钥为下一个标签表格提交!解决办法是什么?

$("#inputID").tagsinput();
Run Code Online (Sandbox Code Playgroud)

She*_*y S 7

首先,您需要将"输入"映射到您tagsinput的confirmkeys选项,然后您需要调用preventDefault()您的回车键以阻止提交表单.在我的解决方案中,它只会在用户聚焦于标签输入字段时通过输入键阻止提交.

为了增加一些冗余,我还将输入键重新映射到输入字段中的逗号,只是为了确定.

  $('#tags-input').tagsinput({
    confirmKeys: [13, 188]
  });

  $('#tags-input input').on('keypress', function(e){
    if (e.keyCode == 13){
      e.keyCode = 188;
      e.preventDefault();
    };
  });
Run Code Online (Sandbox Code Playgroud)

也是一个FYI,Enter键映射为13,JS中的逗号为188.


Mar*_*rík 5

转到标签输入.js

查找行:

self.$container.on('keypress', 'input', $.proxy(function(event) {
Run Code Online (Sandbox Code Playgroud)

在此函数结束之前添加以下内容:

if (event.which == 13) {
    return false; // dont submit form !!
}
Run Code Online (Sandbox Code Playgroud)

  • 同意100%。通常的流程是建议修复并通过 PR 提交修复,而不是直接编辑源代码。 (2认同)

bha*_*rat 5

尝试这个:

$('.bootstrap-tagsinput input').keydown(function( event ) {
    if ( event.which == 13 ) {
        $(this).blur();
        $(this).focus();
        return false;
    }
})
Run Code Online (Sandbox Code Playgroud)