用户存在时调用这个jq成功
function shop(){
 $('form').submit(function(){
 $("#showemail").html('名称已存在');
 return false;
 });
}
用户不存在时调用这个jq不成功function ok(){
 $('form').submit(function(){
 $("#showemail").html('可以注册');
 return true;
 });
}判断时通个AJAX异步传递给PHP的,当shop();执行后,再改变表单的值,确认用户不存在时执行ok();表单不能提交,相当于提交表单还处于false,如果先执行ok();提交正常是不是ok()写错了?
求解答

解决方案 »

  1.   

    有可能是浏览器缓存造成的,AJAX调用时给URL加一个随机数试试,比如:
    var url = '/path/test.php?u=username';
    var t = new Date();
    t = t.getTime();
    url += '&t=' + t;
      

  2.   

    执行了stop()函数后再改变表单的值,表单值改变以后有没有再次AJAX方式检测用户是否存在并执行ok()函数?(就是说有没有重新绑定表单的onsubmit事件)最好还是把代码发上来看看,没代码讲起来真吃力。。
      

  3.   

    你这代怎么写奇怪。你仔细思考代码的执行顺序.你把事监听放在了函数里,那么你这个函数何时去触发?只有在调用这个函数之后监听才绑定,这个逻辑有问题.事件监听应该放在
    $(document).ready(function(){
       ...
    });里面.不要放在函数里,除非你了解你的调用顺序.再有,$('form').submit(function(){})不推荐这种写法.
    应该$('form').bind('submit',function(){});或$('form').live('submit',function(){});
      

  4.   

    另外,不建议把验证邮箱这种操作放在submit事件里,可以考虑这样:$("input[type='text']").change( function() {
      // 这里可以写些验证代码
    });
      

  5.   

    嗯,有优秀PHP程序员要找工作的吗?