Foxtable(狐表)用户栏目专家坐堂 → 请教JS代码


  共有1599人关注过本帖树形打印复制链接

主题:请教JS代码

帅哥哟,离线,有人找我吗?
ap9709130
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1468 积分:11440 威望:0 精华:0 注册:2013/11/24 22:10:00
请教JS代码  发帖心情 Post By:2017/5/17 18:57:00 [显示全部帖子]

我的JS码如下:

function shqr(){
   var v1 = document.getElementById("shd1").files.length;  
   if (v1 > 0){
    show("t1");
    var result = submitAjaxForm('form1','afterSubmit');
alert(result)
function afterSubmit(result){  
             hide("t1")
             if (result =='qrcg') {
        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', function () {
        history.pushState(null, null, document.URL);
        });
        show('dlg5')}     
    else 
    {showDialog('dlg3','错误',result)}
    return true
      }
}

   show("toptip1",2000);
   return false;
}

但是 result 的结果是:undefined ,所以,t1 一直消不了。但是实际上异步处理也是成功的,服务那边也收到了数据。怎么会这样?

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1468 积分:11440 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/5/18 12:01:00 [显示全部帖子]

老师

用你的代码也是一样的,那个 t1 一直不能消失。没有东西弹出来,但是异步执行的可以成功。应该是回调函数没有返回值。为什么会这样?

如果用同步的方式是没有问题的,但是用同步就不能用那个 t1, 有时候图上大的时候要等一会,使用感觉不太好。同步代码:

function shqr(){
   var v1 = document.getElementById("shd1").files.length;  
   if (v1 > 0){
    show("t1",2000);
    var result = submitAjaxForm('form1','',false);  
             if (result =='qrcg') {
        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', function () {
        history.pushState(null, null, document.URL);
        });
        show('dlg5')}     
    else 
    {showDialog('dlg3','错误',result)}
    return true
      }
else{
   show("toptip1",2000);
   return false;
}
}
哪里有问题啊?

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1468 积分:11440 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/5/18 12:17:00 [显示全部帖子]

 老师

我是用2楼的代码的。

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1468 积分:11440 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2017/5/18 12:23:00 [显示全部帖子]

2楼的也不行。现在搞定了。代码这样就没有问题
function shqr() {
    var v1 = document.getElementById("shd1").files.length;
    if (v1 > 0) {
        show("t1");
        var result = submitAjaxForm('form1', 'afterSubmit');
    }
 else {
    show("toptip1", 2000);
    return false;
}
}
function afterSubmit(result) {
    hide("t1");
    if (result == 'qrcg') {
        history.pushState(null, null, document.URL);
        window.addEventListener('popstate', function() {
            history.pushState(null, null, document.URL);
        });
        show('dlg5');
    } else {
        showDialog('dlg3', '错误', result);
    }
    return true;
}

 回到顶部