我目前正在使用新闻网站,我想制作一个禁用搜索按钮的搜索功能,直到输入有三个字符。
这是我当前的代码
<div style="margin-left: 300px; margin-top: 25px; margin-bottom: 20px;">
<form action="searchnews.php?p=0" method="POST">
<input type="text" id="searchterm" name="searchterm" placeholder="Buscar Término...">
<input type="submit" id="search" value="Buscar Noticia" class="search" disabled="disabled" />
</div>
我添加了这个JS文件:
(function() {
$('form > input').keyup(function() {
var empty = false;
$('form > input').each(function() {
if ($(this).val() == '') {
empty = true;
}
});
if (empty) {
$('#search').attr('disabled', 'disabled');
} else {
$('#search').removeAttr('disabled');
}
});
})()
我想让它停止禁用按钮,直到第三个角色进入,而不是第一个角色,我已经尝试了一切,没有任何作用。有任何想法吗?我真的很感激。
答案 0 :(得分:1)
为什么不试试.length?
if ($(this).val().length <= 3) {
empty = true;
}
答案 1 :(得分:1)
在@Dim_Ch的回答中,.lenght不是一个函数。 你可以用这个
if ($(this).val().length <= 3) {
empty = true;
}
答案 2 :(得分:1)
尝试以下方法。有效。它还会缩短功能长度。
(function() {
$('input#searchterm').keyup(function() {
var enable = false;
if ($(this).val().length >= 3) {
enable = true;
}
if (enable) {
$('#search').removeAttr('disabled');
} else{
$('#search').attr('disabled','disabled');
}
});
})()
编辑:我会进一步减少它:
(function() {
$('input#searchterm').keyup(function() {
$('#search').attr('disabled', $(this).val().length < 3? true : false);
});
})()
答案 3 :(得分:0)
(function() {
$('form > input').keyup(function() {
var empty = false;
$(this).each(function() {
console.log($(this).val().length);
if ($(this).val().length >= 3) {
empty = true;
}
});
if (!empty) {
$('#search').attr('disabled', 'disabled');
} else {
$('#search').removeAttr('disabled');
}
});
})()