Foxtable(狐表)用户栏目专家坐堂 → [求助]页面提交存在个别手机微信无法使用


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

主题:[求助]页面提交存在个别手机微信无法使用

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


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
[求助]页面提交存在个别手机微信无法使用  发帖心情 Post By:2018/5/30 8:32:00 [只看该作者]

做了如下页面,用于照片和信息提交的,但是碰到部分手机不兼容,提交后,一直显示正在上传,post数据过去,服务器也没收到,不知道出在代码上还是js上?

代码如下:
Dim e As RequestEventArgs = Args(0)
Dim openid As String
Dim entid As String
Dim workitemid As String
Dim Dtlid As String
Dim ss As String
Dim wb As New WeUI
Dim xdr As DataRow
Dim entname As String
Dim sdate As String=format(Date.Today,"yyyyMMdd")
Dim fxlx As String ="完成|未完成"
Dim gov As String

If  e.GetValues.ContainsKey("gov") Then
    gov=e.GetValues("gov")
End If


If  e.GetValues.ContainsKey("itemid") Then
    workitemid=e.GetValues("itemid")
End If



If  e.GetValues.ContainsKey("fileid") Then
    ss =e.GetValues("fileid")
    wb.Appendcookie("fileid",ss)
Else
    ss= e.Cookies("fileid")
End If



If  e.GetValues.ContainsKey("delwid") Then  '删除操作
    
    Dim r1 As DataRow=DataTables("C_PYH_WORK_Process").SQLFind(" dtl_id='" & e.GetValues("delwid") & "' ")
    If r1 IsNot Nothing
        r1("IS_ACTIVE")="0"
        r1("UPDATE_TIME")=now.Tostring.replace("-","").replace(" ","").replace(":","")
        r1.save()
        workitemid=r1("WORK_id")
    End If
    
    '删除成功提示
    With wb.AddMsgPage("","msgpage","删除成功", "认真 仔细 务实!") '生成成功提示页
        With wb.AddButtonGroup("","btg1",False)  '垂直排列
            .Add("btn1","返回","","/entFilesInfo.htm?fileid=" & workitemid )
            .Add("btn3", "撤销删除","", "/workdodtl.htm?recwid=" &  e.GetValues("delwid") ).Kind = 1
        End With
        
    End With
    e.WriteString(wb.Build)
    Return ""
    
End If

If  e.GetValues.ContainsKey("recwid") Then '恢复删除
    
    Dim r1 As DataRow=DataTables("C_PYH_WORK_Process").SQLFind(" dtl_id='" & e.GetValues("recwid") & "' ")
    If r1 IsNot Nothing
        r1("IS_ACTIVE")="1"
        r1.save()
        workitemid=r1("WORK_id")
    End If
    
    '删除成功提示
    With wb.AddMsgPage("","msgpage","撤销删除成功", "认真 仔细 务实!") '生成成功提示页
        .AddButton("btn1","返回","/entFilesInfo.htm?fileid=" & workitemid)
    End With
    e.WriteString(wb.Build)
    Return ""
    
End If


Dim fh As String="False"
Dim fdd As DataRow
Dim fdp As DataRow
If gov="gov" Then
    If e.Cookies.ContainsKey("openid") Then '从cookie中获取微信用户id
        ' Openid = e.Cookies("openid")
        Openid = Functions.Execute("CheckOpenid",e.Cookies("openid"))
    End If
    
Else
    If e.Cookies.ContainsKey("pxopenid") Then '从cookie中获取微信用户id
        Openid = e.Cookies("pxopenid")
    End If
    
    Dim fdx As DataRow= DataTables("S_PYH_WCHACT_INFO").SQLFind("WCHAT_ID= '" & Openid & "' and IS_ACTIVE='1' ")
    If fdx IsNot Nothing Then
        entid = fdx("enterprise_id")
        Dim xd As DataRow=DataTables("C_EI_ENTERPRISEINFO").SQLFind("enterprise_id='"& entid &"' and is_active='1' ")
        If xd IsNot Nothing Then
            entname=xd("enterprise_name")
        End If
    Else
        With wb.AddMsgPage("","msgpage","缺少必要信息,无法访问", "认真 仔细 务实!") '生成成功提示页
            .icon = "Warn" '改变图标
            .AddButton("btn1","返回","/entFilesInfo.htm?fileid=" & SS )
        End With
        e.WriteString(wb.Build)
        Return ""
    End If
    
End If

If e.PostValues.Count = 0  Then  ' 评估页面首次打开
    wb.AddPageTitle("","ph1","落实反馈记录")
    wb.AddToast("","tst1", "正在上传",1)
    wb.AddToast("","tst2", "反馈成功",0)
    wb.AddToast("","tst3", "反馈失败",0).Icon= "warn"
    wb.AddTopTips("","toptip1","请选择完成状态,输入情况描述!")
    wb.AddForm("","form1","workdodtl.htm")
    Dim js As String =FileSys.ReadAllText(ProjectPath & "web\lib\ajaxform.js", Encoding.Default)    ‘js代码在后面
    wb.AppendHTML("<script>" & CExp(js,"你的反馈已接收,请在上报记录查看上报情况!") & "</script>",True)
    
    With wb.AddDialog("","dlg1", "反馈成功","") '增加订单失败提示框
        .AddButton("btnOK","确定","/entFilesInfo.htm?fileid=" + ss  )
    End With
    With wb.AddDialog("","dlg2", "错误","") '增加订单失败提示框
        .AddButton("btnOK","确定")
    End With
    
    With wb.AddInputGroup("form1","post","")
        .AddHiddenValue("post",Functions.Execute("POSTEncrypt"))
    End With
    
    If workitemid >""  Then      '校验是否历史记录,若是历史记录
        
        
        xdr = DataTables("C_PYH_WORK_Process").SQLFind("dtl_id=  '" & workitemid & "' and is_active='1' ")
        
        With wb.AddInputGroup("form1","ipg1","报送单位:" + xdr("enterprise_name"))
            .AddHiddenValue("work_id",ss)
            .AddHiddenValue("workitemid",workitemid )
            With .AddUploader("up1","照片资料",True) 'True表示允许上传多个文件
                .Incremental = True '允许重复选择文件或连续拍照
                .ScaleWidth= Vars("V_BMP_Width")
                Dim sdr As  DataRow = DataTables("C_PYH_WORK_Proc_FILES").SQLFind("process_id = '" & xdr("dtl_id")  & "' and IS_ACTIVE ='1' ")
                If sdr IsNot Nothing Then
                    For Each dr As DataRow In DataTables("C_PYH_WORK_Proc_FILES").SQLSelect("process_id = '" & xdr("dtl_id")  & "' and is_active='1' ")
                        If dr("FILES_SAVENAME_S") <>"" Then
                            .AddImage(  dr("FILES_SAVENAME_S"),  dr("FILES_SAVENAME"))
                        Else
                            .AddImage(  dr("FILES_SAVENAME") )
                        End If
                    Next
                End If
            End With

            If xdr("WORK_STATUS")="完成" Then
                .AddSelect("WORK_STATUS","完成状态","[完成]|未完成" )
            Else
                .AddSelect("WORK_STATUS","完成状态","完成|[未完成]" )
            End If
            Dim pname As String=Functions.Execute("getPNameByOpenid",xdr("creator"))
            If pname>"" Then
                .AddInput("xm","上报人","text").value=pname
            End If
        End With
        
        With wb.AddInputGroup("form1","ipg2","情况描述(上报时间:" + xdr("publish_date") +")")
            .AddTextArea("WORK_CONTENT").Value = xdr("WORK_CONTENT")
        End With
        
        
        With wb.AddButtonGroup("form1","btg1",False)
            If gov<>"gov" Then
                .Add("btn1", "更新上报", "button").Attribute= "" '调用js函数上传
                If xdr("creator")=openid Then
                    .Add("btn2","删除","","/workdodtl.htm?delwid=" & workitemid ).Kind = 2
                End If
            End If
            .Add("btn3","返回").Attribute = ""
        End With
        
        
    Else  '空白记录显示
        '
        With wb.AddInputGroup("form1","ipg1","")
            With .AddUploader("up1","照片资料",True) 'True表示允许上传多个文件
                .Incremental = True '允许重复选择文件或连续拍照
                .ScaleWidth= Vars("V_BMP_Width")
            End With
            .AddSelect("WORK_STATUS","完成状态","|"+ fxlx)
        End With
        
        With wb.AddInputGroup("form1","ipg2","情况描述")
            .AddHiddenValue("work_xx","kong")
            .AddHiddenValue("work_id",ss)
            .AddTextArea("WORK_CONTENT").Placeholder = "请输入200字以内的进展情况描述,可简短描述"
        End With
        If gov<>"gov" Then
            With wb.AddButtonGroup("form1","btg1",False)
                .Add("btn1", "确定上报", "button").Attribute= "" '调用js函数上传
                .Add("btn2","返回").Attribute = ""
            End With
            With wb.AddPageFooter("","pf1","")
                .AddLink("报送失败,尝试点此报送","/workdodtl2.htm?fileid=" + ss  )
            End With
            
        End If
        
        
    End If
    
    
    
    
Else ''提交数据处理
    
    
    
    If   Functions.Execute("CheckPostID",e.PostValues("post"))<>"POST" Then
        Dim sb As New StringBuilder
        Dim ul1 As String = "/entFilesInfo.htm?fileid=" + ss
        sb.Append("<meta http-equiv='Refresh' c>") '跳转到授权链接
        e.WriteString(sb.ToString)
        Return ""
    End If
    
    If e.PostValues.ContainsKey("workitemid") = False  Then
        If e.files.ContainsKey("up1")=False Then
            e.WriteString("缺少照片,文件签收或完成后拍照上传!") '生成成功提示页
            Return ""
        End If
    End If
    If e.PostValues.ContainsKey("work_status") = False Then '生成错误提示页
        e.WriteString("完成状态不能为空!")
        Return ""
    End If
    If e.PostValues.ContainsKey("work_content") = False Then '生成错误提示页
        e.WriteString("情况描述不能为空!")
        Return ""
    End If
    
    If e.PostValues("work_content").length > 200 Then '生成错误提示页
        e.WriteString("字数不能超过40个字!")
        Return ""
    End If
    
    If  e.PostValues.ContainsKey("workitemid") Then
        workitemid=e.PostValues("workitemid")
    End If
    
    Dim dr As DataRow
    Dim nms() As String= {"work_status","work_content"}  '重新定义了nms数组,增加了两列.
    
    If workitemid >"" Then  '判断是否已有记录
        dr = DataTables("C_PYH_WORK_Process").SQLFind("dtl_id=  '" & workitemid & "' and is_active='1' ")
    Else '否则新增记录
        dr=DataTables("C_PYH_WORK_Process").SQLAddNew()
        workitemid =Guid.NewGuid().ToString().replace("-","")
    End If
    
    For Each nm As String In nms
        If e.PostValues.ContainsKey(nm) Then
            dr(nm) = e.PostValues(nm)
        End If
    Next
    
    '保存并生成增加成功提示页面
    dr("dtl_id")=workitemid
    dr("work_id")=ss
    dr("CREATE_TIME")=now.Tostring.replace("-","").replace(" ","").replace(":","")
    dr("UPDATE_TIME")=now.Tostring.replace("-","").replace(" ","").replace(":","")
    dr("IS_ACTIVE")="1"
    dr("publish_date")=sdate
    If openid>"" Then
        dr("creator")=openid
        dr("dept_id")=entid
        dr("enterprise_name")=entname
    Else
        dr("creator")="test"
        dr("dept_id")="2DB0F74160C94EBD8CD7BB3F186ED4D1"
    End If
    
    dr.save()
    '  wb.Appendcookie("workitemid",workitemid)
    
    
    '保存附件
    For Each key As String In e.Files.Keys
        If key = "up1" Then
            For Each fln As String In e.Files(key)
                Dim s As String=fln
                s=s.substring(s.LastIndexOf("."))
                Dim s2 As String =Guid.NewGuid().ToString().replace("-","")
                Dim s0 As String= s2  & s  '保存的文件名
                Dim s1 As String= s2 & "-s" & s  '保存的文件名
                e.SaveFile(key, fln, ProjectPath & "web\upload\process\" & s0)
                Dim img As image = getImage(ProjectPath & "web\upload\process\" & s0)
                Dim bmp As bitmap = new bitmap(img , 50, 50)
                bmp.save(ProjectPath & "web\upload\process\" & s1)
                
                ''照片大小处理:
                'Functions.Execute("BMP_Size_Change","web\upload\process\",s0)
                
                Dim dr2 As DataRow = DataTables("C_PYH_WORK_Proc_FILES").SQLAddNew()
                dr2("FILES_SAVENAME") = "./upload/process/" & s0
                dr2("FILES_SAVENAME_S") ="./upload/process/" &  s1
                dr2("FILES_NAME") = fln
                dr2("file_id")=Guid.NewGuid().ToString().replace("-","")
                dr2("process_id")=workitemid
                dr2("CREATE_TIME")=now.Tostring.replace("-","").replace(" ","").replace(":","")
                dr2("UPDATE_TIME")=now.Tostring.replace("-","").replace(" ","").replace(":","")
                dr2("IS_ACTIVE")="1"
                If openid>"" Then
                    dr2("creator")=openid
                Else
                    dr2("creator")="test"
                End If
                dr2.save()
            Next
        End If
    Next
    
    e.WriteString("OK")
    Return ""
    
End If

e.WriteString(wb.Build)


js代码:

function submitForm(){
var v1 = document.getElementById("work_content").value;
var v2 = document.getElementById("work_status").value;
if (v1 && v2){
show("tst1");
var result = submitAjaxForm('form1','afterSubmit');
                 }
else
{
show("toptip1",2000);
}
}

function afterSubmit(result){
    hide("tst1");
    if (result=='OK') {
showDialog('dlg1','上报成功','{0}')
    }
    else{
showDialog('dlg3','错误',result)
    }
}
[此贴子已经被作者于2018/5/30 11:56:03编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/30 9:13:00 [只看该作者]

应该是你代码问题。请在httprequest加入msgbox、在你接收代码那里加入msgbox,提交之后,看能否弹出值。


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


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2018/5/30 11:15:00 [只看该作者]

关键是很多可以正常使用,我自己调试和自己手机提交都没有问题,但是个别手机提交显示正在上传之后,就没动作了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/30 11:33:00 [只看该作者]

以下是引用浙江仔在2018/5/30 11:15:00的发言:
关键是很多可以正常使用,我自己调试和自己手机提交都没有问题,但是个别手机提交显示正在上传之后,就没动作了

 

1、是否上传的图片过大导致等候过长?上传一个小的图片试试;

 

2、用那些有问题的手机测试你的项目,加入msgbox调试。


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


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2018/5/30 11:55:00 [只看该作者]

我开启了httprequest记录
    Dim str As new StringBuilder
    str.AppendLine("path=" & e.Path)
    str.AppendLine("HttpMethod=" & e.Request.HttpMethod)
    For Each key As String In e.Values.Keys
        str.AppendLine(key & "=" & e.Values(key))
    Next

我查看了post记录,问题手机提交时,服务器没有触发post记录
那就是手机数据post没有成功,帮忙看下页面代码有没有问题?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/30 12:36:00 [只看该作者]

1、代码要写到httprequest事件最顶部;

 

2、正常情况显示什么?不正常情况显示什么?


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


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2018/5/30 13:43:00 [只看该作者]

好,我试试,真的搞不明白问题出在哪里了
[此贴子已经被作者于2018/5/30 13:44:51编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1316 积分:9484 威望:0 精华:1 注册:2010/7/21 14:20:00
  发帖心情 Post By:2018/5/30 14:00:00 [只看该作者]

原来数据是到服务器了,但是处理过程出现错误,又因错误dialog的id弄错,不显示

终于调试出错误提示了,名称搞错一个
    With wb.AddDialog("","dlg2", "错误","") '增加订单失败提示框
        .AddButton("btnOK","确定")
    End With




此主题相关图片如下:qq截图20180530135828.png
按此在新窗口浏览图片


weui.me.js:247 Uncaught TypeError: Cannot read property 'getElementsByClassName' of null
    at showDialog (weui.me.js:247)
    at afterSubmit (Filedodtl.htm?fileid=dc6f7d54cd634c4e84cbf9b6ae764179:32)
    at eval (eval at http.onload (weui.me.js:571), <anonymous>:1:1)
    at XMLHttpRequest.http.onload (weui.me.js:571)
showDialog @ weui.me.js:247
afterSubmit @ Filedodtl.htm?fileid=dc6f7d54cd634c4e84cbf9b6ae764179:32
(anonymous) @ VM885:1
http.onload @ weui.me.js:571
XMLHttpRequest.send (async)
submitAjaxData @ weui.me.js:581
submitAjaxForm @ weui.me.js:522
submitForm @ Filedodtl.htm?fileid=dc6f7d54cd634c4e84cbf9b6ae764179:18
onclick @ Filedodtl.htm?fileid=dc6f7d54cd634c4e84cbf9b6ae764179:122


[此贴子已经被作者于2018/5/30 14:12:34编辑过]

 回到顶部