VBScript无法设置HTML名称属性

时间:2017-07-10 15:54:01

标签: html dom vbscript hta

我正在尝试使用VBScript作为语言在HTA应用程序中生成HTML页面。

我似乎无法设置元素名称属性。除了设置名称的代码之外,此代码都有效。我最后输出了frmMenu.InnerHTML。

set selectApp = document.createElement("select")
selectApp.ID = "selApplication"
selectApp.name = "selApplication"
frmMenu.appendChild(selectApp)
Set selectApp.onchange = GetRef("Application_Change_Event")

我使用过selectApp.Name =“selApplication”,但也没用。

这是整个Sub()

GetRef("CycleMappingPage")
CycleMappingPage()

Sub CycleMappingPage()

    Set label1 = document.createElement("label")
    label1.innerHTML = "Application: "
    frmMenu.appendChild(label1)

    set selectApp = document.createElement("select")
    selectApp.ID = "selApplication"
    selectApp.name = "selApplication"
    frmMenu.appendChild(selectApp)
    Set selectApp.onchange = GetRef("Application_Change_Event")

    Set br1= document.createElement("br")
    frmMenu.appendChild(br1)

    Set br2 = document.createElement("br")
    frmMenu.appendChild(br2)

    Set label2 = document.createElement("label")
    label2.innerHTML = "Cycle: "
    frmMenu.appendChild(label2)

    Set selectCycle = document.createElement("select")
    selectCycle.setAttribute "name", "selCycle"
    frmMenu.appendChild(selectCycle)

    Set br3= document.createElement("br")
    frmMenu.appendChild(br3)

    Set br4 = document.createElement("br")
    frmMenu.appendChild(br4)

    Set inputButtonGenMap = document.createElement("input")
    inputButtonGenMap.setAttribute "type", "button"
    inputButtonGenMap.setAttribute "name", "btnRun"
    inputButtonGenMap.setAttribute "value", "Generate Map"
    frmMenu.appendChild(inputButtonGenMap)
    Set inputButtonGenMap.onclick = GetRef("GenerateMap")

    Set br5= document.createElement("br")
    frmMenu.appendChild(br5)

    Set br6 = document.createElement("br")
    frmMenu.appendChild(br6)

    Set inputButtonMainMenu = document.createElement("input")
    inputButtonMainMenu.setAttribute "type", "button"
    inputButtonMainMenu.setAttribute "name", "btnMainMenu"
    inputButtonMainMenu.setAttribute "value", "Main Menu"
    frmMenu.appendChild(inputButtonMainMenu)
    Set inputButtonMainMenu.onclick =  GetRef("LoadMainMenuPage")

    msgbox frmMenu.innerHTML

End Sub

1 个答案:

答案 0 :(得分:0)

这是旧版IE(IE8之前)的行为。您有两种方法可以解决它。

1)在createElement电话中指定名称:

Set sel = document.createElement("<select name='hello'/>")

2)使用兼容X-UA的标题将HTA的兼容模式更改为至少IE 8(参见"X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE"

此行为记录在name属性下:

  

在Internet Explorer 8及更高版本中,您可以在运行时为使用 createElement 方法动态创建的元素设置名称属性。要在早期版本的Windows Internet Explorer中创建具有名称属性的元素,请在使用 createElement 方法时包含该属性及其值。