+ -
当前位置:首页 → 问答吧 → 为什么前面的还存在

为什么前面的还存在

时间:2010-05-27

来源:互联网

头一天看jquery.
js部分:
复制代码
  1. $(function(){
  2. $("#username").blur(function(){
  3. var usernameVal = $('#username').val();
  4. if(usernameVal.length == 0)
  5. {
  6. $("#userNameError").html("用户名不能为空");
  7. }
  8. else
  9. {
  10. $("#userNameCorrect").html("输入正确");
  11. }
  12. html部分:
  13. [code]  <form  action="user.php" method="post" name="formUser" id="formUser">
  14.         <div class="inputWrapper">
  15.            账号:
  16.           <input name="username" type="text" size="25" id="username"></input>
  17.           <span id="userNameError" class="error" style="display:inline;"></span>
  18.           <span id="userNameCorrect" class="correct" style="display:inline;"></span>
  19.           
  20.         </div>
  21.         <div class="submitWrapper"><input type="submit" name="submit" value="注  册"></div>
  22.       </form>

请问为什么我假如填写了账号,然后又删除掉,这个时候会同时出现“不能为空”和“输入正确”的两个提示。请问如何解决呢?
});
})[/code]

作者: iphpmysql   发布时间: 2010-05-27

“填写了账号,然后又删除掉”这段话描述的不够清楚,填写了账号你有触发blur事件么?还是贴写完了焦点未移开然后直接把填写的删掉了呢?

如果触发过blur事件,那自然会在id为userNameError的span中有一段“输入正确”,再次因为空而触发blur时,你没有去清空刚才那个span,而仅仅是在另一个span里面又设置了一串文字。

作者: jokeykiss   发布时间: 2010-05-27

填写了账号有触发blur事件

作者: iphpmysql   发布时间: 2010-05-27

那建议你在$("#username").focus事件中添加一些代码来移除$("#userNameError")和$("#userNameCorrect")的内容。

作者: jokeykiss   发布时间: 2010-05-27

$(function(){
    $("form").submit(function(){
        var usernameVal = $('#username').val();
        alert(usernameVal);
        if(usernameVal.length == "")
        {
            $("#userNameError").html("用户名不能为空");
            return false;
        }
        else
        {
            $("#userNameCorrect").html("输入正确");
            return true;
        }
    });
})

作者: couxiaozi1983   发布时间: 2010-05-27