如果输入中少于2个字符,请禁用输入键

时间:2014-09-28 17:32:29

标签: jquery key preventdefault

我有一个表格,一次只显示一个问题/输入,它使用回车键(如果在输入内按下)从一个问题移动到另一个问题。

如果输入中有少于或等于2个字符,我需要一种方法来阻止输入键操作...作为一种确保人们实际在那里写东西并且不仅仅是重复它们的方法。

以下是我的脚本中涉及回车键的部分:

triggers.first().addClass('active');
form.hide().first().show();

function sliderResponse(target) {
    form.fadeOut(500).delay(500).eq(target).fadeIn(700);
    triggers.removeClass('active').eq(target).addClass('active');
}

triggers.click(function() {
    if ( !$(this).hasClass('active') ) {
        target = $(this).index();
        sliderResponse(target);
    }
});
$('input').bind('keypress', function(e) {
    if(e.keyCode==13){
    target = $('#command ul.triggers li.active').index();
    target === lastElem ? target = 0 : target = target+1;
    sliderResponse(target);
    }
});

标准输入html:

<h1>Do you have a current website?</h1>  
                    <input type="text" value="If you do, please insert the link…" id="last" name="last" class="fields" onFocus="if(this.value == 'If you do, please insert the link…') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'If you do, please insert the link…';}" />

更新

这是一种禁用回车键的方法: 但是我怎样才能确定两个角色的条件呢?

$("input").keypress(function (evt) {
var charCode = evt.charCode || evt.keyCode;
if (charCode  == 13) {
return false;
}
});

1 个答案:

答案 0 :(得分:1)

您可以检查值的长度以查看输入的字符数

$("input").on('keydown', function(evt) {
    if (evt.which === 13 && this.value.length < 3) {
        return false;
    }
});