我正在尝试使用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
答案 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 方法时包含该属性及其值。