输入长度为5个字符时,验证文本输入并输出“完成”div

时间:2012-04-04 09:04:15

标签: javascript jquery html

我已经用javascript编写了这段代码但是我必须使用JQuery才能使用它,我已经包含了javascript函数和jquery尝试但我无法弄清楚我的jquery尝试有什么问题可以有人请帮助我?

Javascript工作:

function done()
{
    var valid = document.getElementById("text2").value.length;
    if (valid > 5)
    {
        document.getElementById('one').innerHTML += "<div class='done rotateone wiggler'></div>";
        document.getElementById('one').className += "grey";
    }

Jquery尝试:

$(document).ready(function(){
    //Validates the title field is at least 5 characters long.
    $("#text2").done(function(){
        var value = $(this).val();
        if (value.length >= 5)
        {
            $("#one").append("<div class='done'></div>");
        }
    });

2 个答案:

答案 0 :(得分:0)

您可以使用done()功能,只需添加一些小改动即可适应jQuery

function done()
{
    var valid = $("#text2").val().length;
    if (valid > 5)
    {
        $('#one').append("<div class='done'></div>");
        $('#one').addClass("grey");
    }
}

答案 1 :(得分:0)

看起来你想立即执行你的功能? (看看编辑,看看为什么我添加了.blur()事件处理程序)嗯,这是我如何做的:

$(document).ready(function() {
    $('#text2').blur(function() { // Listen to the "onblur" event on the element
        if (this.value.length > 5) { // No need for jQuery there
            $('#one')
                .append('<div class="done"></div>')
                .addClass('grey')
        }
    })
})

通过在单个元素上链接函数,看看我如何仅对DOM使用一个调用?这是实用和有效的。

顺便说一下,innerHTML有很多原因(包括performance),jQuery中的.append()和javascript中的.appendChild()

编辑:看起来您希望在onblur事件中激活此功能。我编辑了我的代码。