当前位置: 代码迷 >> JavaScript >> php jquery表单验证解决办法
  详细解决方案

php jquery表单验证解决办法

热度:365   发布时间:2013-12-02 12:00:40.0
php jquery表单验证
本帖最后由 zkg510168343 于 2013-11-30 11:27:11 编辑
自己写的表单验证,表单提交老是有问题
代码如下
<form name="" id="register_form" method="post" action="">

<tr>
                                <td>{$lang.user_name}:</td>
                                <td><input type="text" id="user_name" name="user_name" class="text width10" /></td>
                                <td class="padding3 fontColor4"><label id="checking_user">用于登录的名字</label></td>
                            </tr>
</form>

jquery代码


$(document).ready(function(){

    $("#register_form input[name=user_name]").blur(function(){
        check_user_name();
    });

    $("#register_form").submit(function(){
        check_user_name();
      })


});


//检测用户名function check_user_name(){
    var check_id = "checking_user";    var value = $("#user_name").attr("value");
    var message = "";    //检测长度
    if(value.length < 3) {        message = "用户名必须在3-15个字符之间";
        return_message(check_id,message);//这里是把提示警告文字显示在用户名input后面        alert('用户名过短');
        return false;    } else {
         check_same_user(value,check_id);    }
}


//检测用户名是否存在
function check_same_user(val,id){    var url = SITE_URL + '/index.php?app=checks&type=user';
    reload_s(id);    $.ajax({
    'type': 'GET',        'url': url,
        'cache': false,        'dataType' :"html",
        'data':{"val":val},        'success': function(data) {
            if(data == 'ok'){                reload_r(id);
                message = "ok!";                return_ok(id,message);
                alert('可以注册');                return true;
            } else {                reload_r(id);
                message = "用户名已经存在!";                return_message(id,message);
                alert('用户名已经存在');                return false;
            }            
        }    });
}





提示的也没问题,可是表单还是提交了,请问这是什么原因

------解决方案--------------------
你ajax回调函数里面return内容没意义。。你的check_same_user函数要返回true,false才行,而且ajax必须要指定为同步的,要不无法接受ajax返回值
  相关解决方案