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)