标签输入阻止从提交表单输入

时间:2018-06-11 13:04:51

标签: javascript jquery preventdefault bootstrap-tags-input

我有一个带有typeahead的tagsinput字段,一切正常。我可以输入一个值,如果有任何预先输出结果,我可以选择并按回车键将其添加到标签输入字段。

但是,当我输入不在先行列表中的标签值并按Enter键时,表单会被提交。我想阻止这种行为,并尝试了一些方法,但似乎无法让它发挥作用。这就是我现在所拥有的:

HTML:

<input id="testInput" name="testInput" type="text" class="form-control" rows="3" value="Test1,Test2, test3, test4, ThisIsABigVeryBigTest"  autocomplete="off" />

JS:

<script type="text/javascript">
    $(document).ready(function() {

        $('#testInput').tagsinput({
          typeahead: {
          source: ['Amsterdam', 'Washington', 'Sydney', 'Beijing', 'Cairo'],
        afterSelect: function() {
            this.$element[0].value = '';
                }
            }
        });

        $('#testInput input').on('keypress', function(e){
          if (e.keyCode == 13){
             e.keyCode = 188;
             e.preventDefault();
            };
        });
    });
</script>

我还试过一些JS来阻止输入提交。在我可以成功阻止表单在Enter上提交的每种情况下,当用户按Enter键时,输入的文本也不会转换为标记时,它也会中断标签输入。

感谢您的帮助!

0 个答案:

没有答案