检测表单字段中是否有3个或更多文本字符
Detect if 3 text characters or more in form field
我想使用jQuery来检测表单字段和文本字段中是否输入了3个或更多字符,如果是,我想隐藏背景图像。
目前我正在实现部分目标;在focus
上隐藏背景图像,但问题是,在用户键入或选择etc并移动到不同的表单字段后,背景图像再次出现。。
input.required:focus {
background-image: none;
}
textarea.required:focus {
background-image: none;
}
javascript
$(document).ready(function () {
$( "input, textarea" ).on( "change blur", function() {
var inputValue = $( this ).val();
if( inputValue .length > 3 ) {
$( this ).addClass( "moreThan3" );
} else {
$( this ).removeClass( "moreThan3" );
}
});
});
css
input.moreThan3, input.required:focus { background-image: none; }
textarea.moreThan3, textarea.required:focus { background-image: none; }
RiccardoC的答案略有改进:
$(document).ready(function () {
$( "input textarea" ).on( "change blur", function() {
var inputValue = $( this ).val();
$( this ).toggleClass( "moreThan3", inputValue.length > 3 );
});
});
也许这就是你想要的。。
$(document).ready(function(){
$('#form1').on('focus keypress keyup keydown click',function(){
var changer = true;
$('#form1').find('input[type=text],textarea').each(function(){
if($(this).val().length<3){changer = false;}
});
if(changer){$('body').css('background-image','none');}
else{$('body').css('background-image','url(image)');}
});
});
body{background-image:url('image');}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form1">
<input type="text" />
<input type="text" />
<textarea></textarea>
<input type="text" />
</form>
相关文章:
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 允许在文本框中使用某些字符
- 根据页面的位置突出显示文本中的字符
- 带静态字符e输入的文本框数字和带javascript的负整数
- 仅IE8 html文本框中的字符
- 必须检查长度,并在文本框中允许一些特殊字符
- 在每个字符输入后,使密码文本框值可见
- 使用提取文本webpack插件时出现意外字符
- 替换与单词'匹配的文本字符;购物车'替换为img图标
- jQuery自动完成下拉列表中的粗体搜索文本字符
- 如何从元素中删除定义的文本字符
- 文本字符限制
- 通过 GET 传递带有新行的文本字符串会破坏我的重定向
- 使用 JS 查找和替换文档中的特定文本字符
- 检测表单字段中是否有3个或更多文本字符
- 在数据库中存储10个UTF8字符而不丢失文本字符计数器
- SVG在Javascript中获取文本字符边界
- 如何使一个regexp在js分裂打破使用特殊的文本字符
- Javascript纯文本字符编码
- 获得第一个n个文本字符的网页与他们的风格等