首页 > 解决方案 > 如何防止通过使用 taginput 按 Enter 提交表单?

问题描述

我正在使用 Bootstrap 的标签输入库,但我忍不住在按 Enter 时提交表单。当点击输入时,光标必须保持在同一字段中。我使用了各种代码,但没有成功。

<div class="input-group">
    <div class="input-group-addon">
        <i class="fas fa-exchange-alt"></i>
        </div>
    <input type="text" name="post_tags" class="form-control form-control-md" data- 
    role="tagsinput" placeholder="add tags" value="" onkeydown="pulse(event)" required>
</div>
<script>
/* It didn't work*/
document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('input[type=text]').forEach(node => node.addEventListener('keypress', e => {
        if(e.keyCode == 13) {
            e.preventDefault();
        }
    }))
});
</script>
<script>
/* It didn't work*/
function pulse(e) {
    if(e.which === 13 && !e.shiftKey) {
        e.preventDefault();
        console.log('prevented');
        return false;
    }
}
</script>

标签: javascripttwitter-bootstrap

解决方案


推荐阅读