使用“确定”按钮不会关闭模态

时间:2014-12-04 21:24:27

标签: jquery jquery-ui

我希望我网站上的第一件事是一个要求输入密码的对话框,如果密码长度小于6,则显示一个名为密码错误的范围,并且不允许继续操作。如果密码长度大于或等于6,则可以按“确定”继续。我的问题是什么都没有显示,无论密码长度是多少,我都无法继续。这是我的代码:

<div class="password_insert" title="Set your password"> 
    <span id="error"><b>Passwords error!</b></span>
    <span>New Password: </span>
    <br />
    <input type="password" id="ins_pass" /> <span>Repeat Password: </span>
    <br />
    <input type="password" id="rep_pass" />
</div>

<script>
$(function () {
    $(".password_insert").dialog({
        modal: true,
        buttons: {
            Ok: function () {
                $(this).dialog("close");
            }
        },
        beforeClose: function (event, ui) {
            var x = $('#ins_pass').val();
            var y = x.length();
            if (x < 6) {
                $("#error").show();
                event.preventDefault();
            }
        }
    });
});
</script>

Demo

1 个答案:

答案 0 :(得分:1)

浏览器控制台报告以下错误:

Uncaught TypeError: number is not a function

您未正确使用length方法:

var y = x.length();

应该是

var y = x.length;

Demo

另外,偏离主题:使用带有for属性的标签而不是span标签来获取辅助功能。