jQuery .blur不起作用

时间:2009-07-22 19:58:39

标签: jquery html forms

我有3个.blur,只有第一个因某些原因而起作用。这是jquery代码:

<script type='text/javascript'>
    $(document).ready(function() {
        $("#user_name").blur(function() {
            if ($(this).val().length > 4) {
                $("#usernamecheckbox").html("<img src='images/checkmark.png' alt='' />");
            } else {
                $("#usernamecheckbox").html("<img src='images/xmark.png' alt='' />");
            }
        });
        $("#pass").blur(function() {
            if ($(this).val().length < 4) {
                $("#passcheckbox").html("<img src='images/xmark.png' alt='' />");
            } 
        });
        $("#confirmpass").blur(function() {
            if ($(this).val() != $("#pass").val()){
                $("#passcheckbox").html("<img src='images/xmark.png' alt='' />");
            } else {
                $("#passcheckbox").html("<img src='images/checkmark.png' alt='' />");
            }
        });
    });
</script>

以下是表格:

<form  enctype="multipart/form-data" method='post' action='reg.php'>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    <p>Username <span class='sub'>must be atleast 4 characters</span></p>
    <input type='text' name='user_name' id='user_name' /> <div id='usernamecheckbox' class='checkbox'></div><br />
    <p>Password <span class='sub'>must be atleast 4 characters</span></p>
    <input type='password' id='pass' name='pass' /> &nbsp; <input type='password' name='confirm' id='confirmpass' /> <div id='passwordcheckbox' class='checkbox'></div><br />
    <p>E-mail <span class='sub'>must be a valid E-mail address</span></p>
    <input type='text' name='email' id='email' size='40' /> <div id='emailcheckbox' class='checkbox'></div><br />
    <p>Avatar</p>
    <input type='file' name='avatar' /><br /><br />
    <?php
    require_once('recaptchalib.php');
    $publickey = "6LdLYwcAAAAAAEeupJKr_IBviIq-xHX5W98IacgZ"; // you got this from the signup page
    echo recaptcha_get_html($publickey);
    ?>
    <br />
    <input type='submit' value='Submit'>
</form>

3 个答案:

答案 0 :(得分:11)

在假设blur()不起作用之前,你应该用一些简单的代码测试它,例如:

$("#pass").blur(function() {
            alert('#pass blur triggered');
    });

我认为问题是你正在寻找$(“#passcheckbox”)。我在id="passcheckbox"的HTML中看不到任何内容。看起来你的意思是$("#passwordcheckbox")

答案 1 :(得分:2)

将#passcheckbox更改为#passwordcheckbox

其余代码对我来说很好。

答案 2 :(得分:0)

我只是将css添加到jquery选择器链中以查看它们是否已正确选择:

$('#passcheckbox').css({'background-color':'red'}).etc();