Foxtable(狐表)用户栏目专家坐堂 → setAjaxOptions选择空值为卡死


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

主题:setAjaxOptions选择空值为卡死

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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
setAjaxOptions选择空值为卡死  发帖心情 Post By:2017/6/10 11:08:00 [只看该作者]

老师,您好。

开始group是空值,我下拉选择group后,能正常选择name的值;然后再group选择空值时,微信浏览器就卡死了。
这个group值我是可以确定的,但如果不下拉的话,name就没法取到值。


    Case "bb.htm" '首页

**********
With wb.AddInputGroup("form1","ipg1","数据查询")
                With .AddSelect("group","课室","|" & DataTables("Users").GetComboListString("课室2","部门 = '业务处' and 课室2 = '"& ks2 &"'","课室2 Desc"))
                    .Attribute = """
                End With
                .AddSelect("name","姓名","")
                .AddInput("startdate","开始时间","date").Value = Format(Date.Today,"yyyy-MM-dd")
                .AddInput("enddate","结束时间","date").Value = Format(Date.Today,"yyyy-MM-dd")
            End With
            
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1", "确定", "submit")
            End With 
        End If
e.WriteString(wb.Build)



    Case  "x10129_keshi.htm"
        Dim vals As String
        If e.PostValues.Count = 1 Then
            vals  = "|" & DataTables("users").GetComboListString("姓名","课室2 = '" & e.PostValues("group") & "'","姓名")
        End If
        e.WriteString(vals)

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106700 积分:542695 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/10 11:15:00 [只看该作者]

js代码发上来看看

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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/6/10 11:35:00 [只看该作者]

判断有没有输入或者选择值。

 Case "bb.htm" '首页
        wb.AddTopTips("","toptip1","课室/时间 不能为空!")         '用于显示动态错误提示
        wb.AddPageTitle("","ka","数据","***")
        wb.AddForm("","form1","x10124_Result.htm").Attribute="o n s u b mit = 'return getkeshi()'"      '使用js脚本文件,判断是否按要求输入数据
...
With wb.AddInputGroup("form1","ipg1","数据查询")
                With .AddSelect("group","课室","|" & DataTables("Users").GetComboListString("课室2","部门 = '业务处' and 课室2 = '"& ks2 &"'","课室2 Desc"))
                    .Attribute = """
                End With
                .AddSelect("name","姓名","")
                .AddInput("startdate","开始时间","date").Value = Format(Date.Today,"yyyy-MM-dd")
                .AddInput("enddate","结束时间","date").Value = Format(Date.Today,"yyyy-MM-dd")
            End With
            
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1", "确定", "submit")
            End With 
        End If
e.WriteString(wb.Build)



function getkeshi(){
   var v1 = document.getElementById("group").value;
   var v2 = document.getElementById("startdate").value;
   var v3 = document.getElementById("enddate").value;
   if (v1 && v2 && v3){return true}
   show("toptip1",2500);        //2500毫秒=2.5秒
   return false;
}
[此贴子已经被作者于2017/6/10 11:35:52编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106700 积分:542695 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/10 11:47:00 [只看该作者]

With .AddSelect("group","课室","|" & DataTables("Users").GetComboListString("课室2","部门 = '业务处' and 课室2 = '"& ks2 &"'","课室2 Desc"))
                    .Attribute = """这里的代码看不到,用空格隔开发上来看看

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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/6/10 11:51:00 [只看该作者]

               With .AddSelect("group","课室",DataTables("Users").GetComboListString("课室2","部门 = '业务处'","课室2 Desc"))
                    .Attribute = "o n c h a nge=""setAjaxOptions('name','x10129_keshi.htm','group',false)"""
                End With

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106700 积分:542695 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/10 12:15:00 [只看该作者]

命令窗口执行这个代码,看输出什么内容

Output.Show(DataTables("users").GetComboListString("姓名","课室2 = ''","姓名"))

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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/6/10 12:52:00 [只看该作者]

执行结果:什么数据都没有获得。

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


加好友 发短信
等级:二尾狐 帖子:522 积分:5027 威望:0 精华:0 注册:2015/4/15 15:25:00
  发帖心情 Post By:2017/6/10 13:17:00 [只看该作者]

老师,通过调试,发现问题出在判断上.
不作判断,就可以正常使用了。
或者加个else,随便弄个不存在的条件,也能正常使用了。


   Case  "x10129_keshi.htm"
        Dim vals As String
        If e.PostValues.Count = 1 Then       '删除
            vals  = "|" & DataTables("users").GetComboListString("姓名","课室2 = '" & e.PostValues("group") & "'","姓名")
        End If             '删除
        e.WriteString(vals)
[此贴子已经被作者于2017/6/10 13:37:16编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106700 积分:542695 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/10 14:16:00 [只看该作者]

测试了一下确实有这个问题,e.WriteString的原因,不能写入nothing,否则会网页会停止响应

Case  "x10129_keshi.htm"
        Dim vals As String = "" '这里赋值为空字符串
        If e.PostValues.Count = 1 Then 
            vals  = "|" & DataTables("users").GetComboListString("姓名","课室2 = '" & e.PostValues("group") & "'","姓名")
        End If    
        e.WriteString(vals)

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106700 积分:542695 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/10 14:16:00 [只看该作者]

应该是一个bug,已提交

 回到顶部