【发布时间】:2015-10-13 06:12:12
【问题描述】:
HTML:
<div class="input-group">
<input type="text" class="form-control" name="keyword" id="searchbox" onkeypress="return checkLength()"/>
<span class="btn btn-primary input-group-addon" onclick="checkLength()"><i class="fa fa-search"></i></span>
</div>
我只为提交按钮添加了span 而不是input 元素。如何验证用户键入或输入的字符是否不少于 2 个?如果用户只输入 1 个字符然后按下该搜索按钮或只是按回车键,则搜索字段底部应该有一条红色错误消息,说明“关键字应不少于 2 个字符”或类似的内容。
我试过这段代码,但它不起作用:
function checkLength(){
var textbox = document.getElementById("searchbox");
if(textbox.value.length <= 10 && textbox.value.length >= 2){
alert("success");
} else {
alert("Keyword should be not less than 2 characters");
$(document).keypress(function (e) {
var keyCode = (window.event) ? e.which : e.keyCode;
if (keyCode && keyCode == 13) {
e.preventDefault();
return false;
}
});
}
}
需要帮助。谢谢。
编辑:
输入关键字后按回车键,页面会重定向到搜索结果页面,但如果输入的关键字不包含2个或更多字符,则应防止发生这种情况,因此在下方显示红色文本错误消息搜索字段。怎么做?
【问题讨论】:
-
为什么禁用回车键?我还看到您使用的是 jQuery,而不是为什么将它与 vanilla js 混合使用?也避免使用内联事件处理程序。
-
对不起,我忘了告诉你,这是我最早使用 jquery 的时间之一。我不知道我在做什么。我该怎么做?谢谢。
标签: javascript jquery html css