字符小于3时禁用HTML按钮

时间:2014-06-14 20:21:47

标签: javascript html forms search button

我目前正在使用新闻网站,我想制作一个禁用搜索按钮的搜索功能,直到输入有三个字符。

这是我当前的代码

<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');
    }
});
})()

我想让它停止禁用按钮,直到第三个角色进入,而不是第一个角色,我已经尝试了一切,没有任何作用。有任何想法吗?我真的很感激。

4 个答案:

答案 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');
    }
});
})()