为了账号安全,请及时绑定邮箱和手机立即绑定

JS异步获取的回调函数如何把值传到父级中

JS异步获取的回调函数如何把值传到父级中

茅侃侃 2019-03-21 18:19:21
我用的是jquery validationEngine这个插件。我需要在JS中做验证,不能在html页面上使用validate[]这种形式。//验证函数_validate = function(node,rules){    var nodeValue = $(node).val(),//input的值        nodeId = $(node).attr('id')//input的ID        tips = '',//提示信息        isPass = false,//如果验证不通过,则为false        tipStatus = '';//提示类型 pass,load,error    for(i in rules){        swith (i){             case 'required':                if(!nodeValue){                    console.log(1);//执行顺序测试                    isPass= false;                    tipStatus = 'error';                    tips += '* 此值不能为空'+'<br/>';                }            break;            case 'minSize':            ....            break;            case 'ajax':                switch(rules.ajax){                    case 'ajaxUserCall'://验证是否已注册                        if(nodeValue && isPass){//其他验证成功的情况下才做此验证                            $.get('./?mod=member&ac=check&op=username',                                {                                 elId:nodeId,                                 elValue:nodeValue                                },                                function(data){                                    console.log(1);//执行顺序测试                                    if(data[1]){//返回成功                                       tipStatus = 'pass';                                    }else{                                       tipStatus = 'error';                                    }//具体验证console.log(2);//执行顺序测试$('#username').on('blur',function(){ _validate('#username',{'required':'','minSize':4,'ajax':'ajaxUserCall'});});遇到的问提是在验证required的时候isPass,tips,tipStatus赋的值都能传递到“具体验证”的位置,在console中打印出来是正常的。但是在ajaxUserCall验证时的赋值,就无法传递到这里。打印出来的值是在var初始化时的值。我在required和ajaxUserCall的回调函数中分别打印console.log(1),在“具体验证”的位置打印console.log(2)。当我做required验证时,console中显示的是1,2。但在做ajax验证的时候,console打印出的是2,1。感觉ajax的回调函数是在整个函数执行完之后才执行的,是不是这个原因我也不太清楚。想请教一下,如何解决这个问题,能正确的传值。谢谢
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 698 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信