我有一个text box
,我正在输入text box
的数据,我想要做的是:如果我将输入4 characters
并将skip that text box by pressing TAB key
然后一个提醒将显示为"data should be more than 4 characters"
,然后文本框将为auto refreshed
。如果输入的数据超过4个字符,那么就不会发出警报,我正在尝试onkeyup事件,但有些我在做错了。请帮忙
答案 0 :(得分:2)
我不知道你的意思是“然后文本框会自动刷新”,所以我猜你想把光标放回那个字段。至于在标签显示时检查值的长度,您需要.change()
或.blur()
事件:
$("input[type=text]").change(function() {
if (this.value.length <= 4) {
alert("Please enter more than 4 characters.");
this.focus();
return false;
}
});
每次焦点离开场时都会触发模糊事件;如果用户在不更改的情况下立即再次突出显示该字段,则不会再次触发更改事件。我更喜欢结合使用更改以及对表单提交的额外验证,这样用户就不会继续对警报进行纠缠(虽然实际上我根本不会显示警报,但我会将消息放在页面上到现场)。
答案 1 :(得分:1)
blur
怎么样?
var el = $('#textbox').blur(function(e) {
if (el.val().length > 4) {
return;
}
el.focus();
alert('data should be more than 4 characters');
});
请注意,此技术会导致糟糕的用户体验。显示与您的元素内联的消息将比防止用户与其他任何内容交互更好。
答案 2 :(得分:0)