<script type="text/javascript">
$(document).ready(function(){
 $("input#p2").blur(function(){   //"确认密码"框失去焦点时 执行
 var p1=$("input#p1").val();
 var p2=$("input#p2").val();
 if(p1!=p2){
 $("#check").html("*两次输入的密码不一致");
 }
 $("input#p1").focus(function(){   //当两次输入密码不一致时 光标再置于"密码"框时 隐藏掉上面的提示
 $("#check").hide();
 });      
 });
});
</script>
// 问题:当提示错误时 我不改变“密码”框的内容  而只是改变“确认”框的值  这时将光标置于“确认”框并改变其值使与“密码”框的值相等时错误提示依然存在 (头疼!!) 请问用jquery怎么实现表单的验证呢?? 
//===========================
       .......................
        <tr><td width="136">密 码:</td>
        <td width="623" height="15">
        <input type="password" name="pwd1" id="p1" />
        </td></tr>
        <tr >
        <td width="136">确认密码:</td>
        <td width="600" height="15">
        <input type="password" name="pwd2" id="p2"/>
        <span id="check"></span>
        </td></tr>         
     ................

解决方案 »

  1.   

    把blur改成 change 或keydown keyup
      

  2.   

    选择器的问题  类似$("input#p2")的,改成这样$("#p2")
      

  3.   

    你是把check的span隐藏掉了,你后面再里面添加内容的时候他还是隐藏的!
      

  4.   


    $(document).ready(function(){
    iclick("#p1","#p2","#check");
    iclick("#p2","#p1","#check");
    });
    function iclick(a,b,c){
     $(b).blur(function(){ 
      var p1=$(a).val();var p2=$(b).val();
      if(p1!=p2){$(c).html("*两次输入的密码不一致");$(a).focus();}
      else{$(c).html("");}
     });
    }
      

  5.   

    选择器为什么还要加input呢。直接#id不是很好吗??