郁闷了几天的问题:在ocx中生成html元素?

ijianbo 架构师  2003-07-19 09:41:03
我的代码是ocx中动态生成一个html的元素:file(就是用于上传文件的那个组件,点击“浏览”,选择文件),我的代码是这样写的:


Private Sub Command1_Click()
Dim inputname As String
Dim oDoc As HTMLDocument
Dim oFileInput As HTMLFormElement
Dim odiv As HTMLDivElement
Dim pathname As String
inputname = "name1"
Dim pathname As string

Set oDoc = New HTMLDocument
'生成一个file
Set oFileInput = oDoc.createElement("input")
oFileInput.setAttribute "name", inputname
oFileInput.setAttribute "id", inputname
oFileInput.setAttribute "type", "file"
oFileInput.outerHTML = "<input type='file' id='" + inputname + "' name='" + inputname + "' >"

'打开file
oFileInput.click
pathname=oFileInput.value
debug.print pathname
end sub


问题是:我在html里加载这个ocx后,单击“command1”后,没有任何的反应?当然也就得不到pathname的值。

另外:我引用的是“Microsoft HTML Object Library”,没有使用“页面设计器”。

请高手指点我的代码有什么问题?




...全文
31 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
since1990 2003-07-25
up
回复
ijianbo 2003-07-25
up
回复
since1990 2003-07-22
up
回复
ijianbo 2003-07-22
up
回复
Alicky 2003-07-21
好像网页只支持DLL
不支持OCX
回复
ijianbo 2003-07-21
没人可以帮我么?
回复
ijianbo 2003-07-21
up
回复
ijianbo 2003-07-21
我想不会是这样的问题

因为有一句;

Set oDoc = New HTMLDocument
而oFileInput 是odoc的元素。


回复
sworddx 2003-07-21
Dim oDoc As HTMLDocument
Dim oFileInput As HTMLFormElement
Dim odiv As HTMLDivElement

是不是要改为

Dim oDoc As New HTMLDocument
Dim oFileInput As New HTMLFormElement
Dim odiv As New HTMLDivElement

后面对应加上

Set oDoc = Nothing
Set oFileInput = Nothing
Set odiv = Nothing



这仅仅是猜测。我没用过那玩艺。
回复
ijianbo 2003-07-21
不支持ocx是什么意思?是不支持在ocx里面动态生成html元素?你可以解释的详细点么?谢谢
回复
ijianbo 2003-07-20
问题,我是要动态生成的!
回复
rainstormmaster 2003-07-19
html文件的格式很简单,直接写文件不就可以了吗
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告