我正在尝试使用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",但这也没有用。
这是整个子((
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
这是旧版IE(IE8之前(的行为。您有两种选择来解决它。
1( 在createElement
调用中指定名称:
Set sel = document.createElement("<select name='hello'/>")
2( 使用 X-UA 兼容标头将 HTA 的兼容模式至少更改为 IE 8(请参阅"X-UA 兼容"内容="IE=9;IE=8;IE=7;IE=EDGE"(
此行为记录在name
属性下:
在 Internet Explorer 8 及更高版本中,可以在运行时对使用createElement方法动态创建的元素设置name属性。若要在早期版本的 Windows Internet Explorer 中创建具有name属性的元素,请在使用createElement方法时包括该属性及其值。