返回false不在localstoragedb中工作

时间:2017-04-19 04:52:37

标签: javascript jquery local-storage

我使用localstoragedb作为我的本地数据库,到目前为止我所做的一切正常。但是在提交表单返回false时,不会停止提交表单。 这是代码.....

$("#registration").on("submit", function(e) {
    e.preventDefault();
    if ($('#username').val() === '') {
        $('#username').parent().addClass('error');
        return false;
    };
    if ($('#password').val() === '') {
        $('#password').parent().addClass('error');
        return false;
    };
    if ($('#mobile').val() === '') {
        $('#mobile').parent().addClass('error');
        return false;
    };

    localDb.queryAll("UserInfo");
    localDb.queryAll("UserInfo", {
        query: function(row) {
            if (row.username === $('#username').val()) {
                alert("username already existed");
                return false;
            }

        }

    });


    localDb.insert("UserInfo", {
        username: $('#username').val(),
        password: $('#password').val(),
        Mobile: $("#mobile").val()
    });
    localDb.commit();
    $(".message").show();
    setTimeout(function() {
        window.location.replace("login.html");
    }, 2000);

});

除了localDb.queryAll函数内部以外,所有返回false都正常工作。 它会提醒我用户名已经存在,但也提交了表单。 看起来return false有些问题。  我错过了什么或做错了什么?????  在此先感谢.........

1 个答案:

答案 0 :(得分:0)

我在循环中犯了一个错误,因为它继续搜索每一行中的特定值以及它不会在哪里插入它。这是正确的代码......

$("#registration").on("submit", function(e) {
    e.preventDefault();
    if ($('#username').val() === '') {
        $('#username').parent().addClass('error');
        return false;
    };
    if ($('#password').val() === '') {
        $('#password').parent().addClass('error');
        return false;
    };
    if ($('#mobile').val() === '') {
        $('#mobile').parent().addClass('error');
        return false;
    };

    localDb.queryAll("UserInfo");
    localDb.queryAll("UserInfo", {
        query: function(row) {
            if (row.username === $('#username').val()) {
                alert("username already existed");
                return false;
            }

        }

    });


    localDb.insert("UserInfo", {
        username: $('#username').val(),
        password: $('#password').val(),
        Mobile: $("#mobile").val()
    });
    localDb.commit();
    $(".message").show();
    setTimeout(function() {
        window.location.replace("login.html");
    }, 2000);

});