Vbscript 试图将变量值传递给HTA输入框参数值=

Vbscript 试图将变量值传递给HTA输入框参数值=,vbscript,hta,Vbscript,Hta,在上面的示例中,从数组填充的较低输入框中进行选择。选择时,将第二个数组中的相应索引值复制到剪贴板。一个消息框用于通知用户复制到剪贴簿的值,但这是笨重的。我添加了第二个只读输入框来显示这个值 变量bOpt(isel)未被识别为文本,尽管未加引号。有没有一个简单的方法 -------------------------------- 我把这个放在潜艇里了 <html> <head> <HTA:Application ID="HTA" App

在上面的示例中,从数组填充的较低输入框中进行选择。选择时,将第二个数组中的相应索引值复制到剪贴板。一个消息框用于通知用户复制到剪贴簿的值,但这是笨重的。我添加了第二个只读输入框来显示这个值


变量
bOpt(isel)
未被识别为文本,尽管未加引号。有没有一个简单的方法

--------------------------------

我把这个放在潜艇里了

<html>
<head>
<HTA:Application ID="HTA"
 ApplicationName="ListBox"
form name="myform"
onclick = 'Selected()'
<style type="text/css"> body {overflow-y:hidden;</style>
<style type="text/css"> body {overflow-x:hidden;</style>
Border="thin"
 BorderStyle="normal"
 Caption="no"
:::-webkit-scrollbar {
width: 0px; /* remove scrollbar space /
background: transparent; / optional: just make scrollbar invisible /
scroll = "no"
scrollflat = "no"
Icon=""
 MaximizeButton="yes"
 MinimizeButton="yes"
 ShowInTaskBar="yes"
 SingleInstance="yes"
 SysMenu="no"
 Version="1.0"
 WindowState="maximize"
<script type="text/vbscript">

Option Explicit

Sub Document_OnKeyUp()
  intKeyCode = Window.Event.Keycode
  If intKeyCode = 27 Then Window.Close
End Sub

Dim aOpt, bOpt, iSel, iOpt, sOpt, messij
Sub Window_Onload()
Const cWid = 220
Const cHei = 122
window.resizeTo cWid, cHei
window.MoveTo screen.width/1-(cWid/1),screen.height/1-((cHei/1) + 40 )

 document.parentwindow.clipboardData.SetData("TEXT"),"Fred@Email.com.au"

'<script language = "vbscript" type = "text/vbscript">

aOpt = Array("Fred email",_  
    "Bert email",_ 
    "Sally email",_
    "David email",_
    "Peter emal")

bOpt = Array("Fred@Email.com.au" , _                                                                       "Bert@Email.com.au" , _                                                                                                           
    "Sally@Email.com.au" , _                                                                                                             
    "David@Email.com.au" , _                                                                                                                 
    "Peter@Email.com.au")

sOpt = "<select id='entries' style='width:160px'>" 
     '    & "<option selected>" & document.title & "</option>"
For iOpt = 0 To UBound(aOpt)
    sOpt = sOpt & "<option>" & aOpt(iOpt) & "</option>"
Next           
   
sOpt = sOpt & "</select><p>" 
document.getElementById("opts").innerHTML = sOpt
End Sub

Sub Selected()

Dim iSel
    iSel = document.getElementById("entries").selectedIndex

  messij = "YOU SELECTED" & chr(13) & chr(13) & "          " & aopt(isel) & chr(13) & chr(13) & "WHICH CAUSED THE VALUE" _
         & chr(13) & chr(13) & "          " &  bopt(isel) & chr(13) & chr(13) & "TO BE COPIED TO THE CLIPBOARD"
 'msgbox messij
 document.parentwindow.clipboardData.SetData("TEXT"),bopt(isel)

End Sub

</script>
</head>
<body>
<input type="text" id = "Resulta)" / style="text-align:center;" readonly style='width:160px'/ value= bOpt(isel)>
<body> 
<body bgColor="yellow">
<center>
<span id="resulta"></span>
<span id="opts"></span>
</center>
</html>
它接受了变量值,我修改了原始输入,通过删除value=parameter将变量名视为文本

document.getElementById("fixit").value = bopt(isel)

输入框现在已成功加载变量值


我在另一个Stackoverflow问题中找到了我的解决方案,但无法再次找到它以进行确认。

我添加了一个
Dim
以使退出键正确退出:

<input type="text" id = "fixit" / style="text-align:center;" readonlyx style='width:160px'>
我删除了为输入框设置的显式值:

Dim intKeyCode
我将
Resulta)
文本框重命名为
Resulta
(这需要将后面的span从
Resulta
重命名为
Resulta
,以避免重复名称)

然后,最后,我将值显式地放入子选定代码中的
Resulta

value= bOpt(isel)

我以前从未在HTA部分中看到添加了
onClick()
事件。

元素格式看起来有点奇怪,为什么在
id
属性的末尾有一个括号(对于一个id来说似乎是一个奇怪的名称)在元素定义的中间有前斜杠吗?我很惊讶你没有出现错误,我看不出这个<代码>文档。PaltField.clipBOADDATA。SEDATA(“文本”),Bopt(ISEL)< /Cord>是正确的语法。您的意思是
document.parentwindow.clipboardData.SetData“TEXT”,bopt(isel)
resulta.value = bOpt(iSel)