以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]Weui的BUG  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=115584)

--  作者:黄训良
--  发布时间:2018/3/9 15:58:00
--  [讨论]Weui的BUG
实现了文件类型的选择,上传不了文件!

    Case "uploader.htm"
        wb.InsertHTML("<div class=\'weui_cell weui_cell_warn\'><div class=\'weui_cell\'><div class=\'weui_cell_bd weui_cell_primary\'>")
        wb.InsertHTML("<div class=\'weui_uploader\'><div class=\'weui_uploader_hd weui_cell\'><div class=\'weui_cell_bd weui_cell_primary\'>文件上传</div></div>")
        wb.InsertHTML("<div class=\'weui_uploader_bd\'><div class=\'weui_uploader_input_wrp\'>")
        wb.InsertHTML("<input class=\'weui_uploader_input\' Type=\'file\' accept=\'")
        wb.InsertHTML("video/mp4")   ‘在这儿修改你希望上传的文件类型’
        wb.InsertHTML("\' multiple=\'\'></div></div></div></div></div></div>")
        wb.AddForm("","form1","accept.htm")
        With wb.AddButtonGroup("form1","btg1",False)    
            .Add("btn1", "提交", "submit")
            .Add("btn1", "取消", "button","index.htm")
        End With
        e.WriteString(wb.Build)
    Case "accept.htm"
        For Each key As String In e.Files.Keys
            sb.AppendLine(key & " 上传" & e.Files(key).Count & "个文件,分别是:</br>")
            For Each fl2 As String In e.Files(key)
                sb.AppendLine(fl2 & "<br>")
                e.SaveFile(key,fl2,"d:\\web\\uploadfiles\\" & fl2) \'保存接收到的文件
            Next
            sb.AppendLine("</br>")
        Next
        sb.AppendLine("以上文件服务器已正确接收并保存!")
        e.WriteString(sb.ToString)

报错如下:
weui.me.js:61 Uncaught TypeError: Cannot set property \'innerHTML\' of null
    at HTMLInputElement.previewFile (weui.me.js:61)
previewFile @ weui.me.js:61

--  作者:有点蓝
--  发布时间:2018/3/9 16:13:00
--  
    Case "upload.htm"
        Dim wb As new WeUI
        wb.AddForm("","form1","accept.htm")
        wb.InsertHTML("form1","<div class=\'weui_cell weui_cell_warn\'><div class=\'weui_cell\'><div class=\'weui_cell_bd weui_cell_primary\'>")
        wb.InsertHTML("form1","<div class=\'weui_uploader\'><div class=\'weui_uploader_hd weui_cell\'><div class=\'weui_cell_bd weui_cell_primary\'>文件上传</div></div>")
        wb.InsertHTML("form1","<div class=\'weui_uploader_bd\'><div class=\'weui_uploader_input_wrp\'>")
        wb.InsertHTML("form1","<input class=\'weui_uploader_input\'  name=\'up1\' id=\'up1\' Type=\'file\' accept=\'video/mp4\' multiple=\'\'></div></div></div></div></div></div>")

        With wb.AddButtonGroup("form1","btg1",False)
            .Add("btn1", "提交", "submit")
            .Add("btn1", "取消", "button","index.htm")
        End With
        e.WriteString(wb.Build)

2个问题
1、没有那么属性,表单提交会忽略
2、控件必须属于form的子标签
[此贴子已经被作者于2018/3/9 16:14:02编辑过]

--  作者:黄训良
--  发布时间:2018/3/9 16:38:00
--  
强烈建议!上传文件类型筛选weui.me.js应该写进去!
不要让大家曲线救国!


--  作者:黄训良
--  发布时间:2018/3/9 16:54:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:upload03.png
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2018/3/9 17:57:00
--  

如果要基于本来的框架处理,这样写

 

Select Case e.Path
    Case "","test.htm"
        Dim wb As New WeUI
        wb.AddForm("","form1","addnew.htm")
        With wb.AddInputGroup("form1","ipg1","增加员工")
            .AddInput("姓名","姓名","Text") \'前一个"姓名"是ID,后一个"姓名"是标题
            .AddInput("年龄","年龄","number")
            .AddSelect("学历","学历","大专|本科|硕士|博士")
            .AddUploader("up1","照片",True) \'True表示允许上传多个文件
        End With
        With wb.AddButtonGroup("form1","btg1",True)
            .Add("btn1", "确定", "submit")
        End With
        Dim str = wb.build
        str = str.replace("<input class=\'weui_uploader_input\' type=\'file\' id=\'up1\' name=\'up1\' multiple  />", "<input class=\'weui_uploader_input\' type=\'file\' id=\'up1\' name=\'up1\' multiple accept=\'image/gif, image/jpeg\'/>")
        e.WriteString(str)
        \'e.WriteString(wb.Build)
End Select

[此贴子已经被作者于2018/3/9 17:56:59编辑过]

--  作者:黄训良
--  发布时间:2018/3/9 18:19:00
--  
这个简洁多了,还是觉得弯弯曲曲的!
[此贴子已经被作者于2018/3/9 18:19:15编辑过]