1

Тема: HTA: передача в модальное окно параметров пользовательской формы

Полезный простейший пример динамического формирования дочернего диалогового окна при помощи передачи необходимой информации через аргумент типа Dictionary.

Вызывающий скрипт

<html>
<head>
<title>Caller</title>
<HTA:APPLICATION
  APPLICATIONNAME="Caller"
  ID="Caller"
  VERSION="1.0"/>
</head>

<script language="VBScript">

Sub Window_OnLoad
End Sub

Function Fill_Dict()
    dim objDic
    Set objDic = CreateObject("Scripting.Dictionary")
    objDic.Add "a", "some text string"
    objDic.Add "b", "some other text string"
    objDic.Add "c", "something else"
    Set Fill_Dict = objDic
    set objDic = Nothing
End Function

Sub OnClickButtonbtnCall()
  intReturn = window.ShowModalDialog("modal.hta", Fill_Dict) 
End Sub
</script>
<body>
<input type="button" name="btnCall" id="btnCall" value="Call" onclick="OnClickButtonbtnCall">
</body>
</html>

Дочернее окно (файл modal.hta)

<html>
<head>
<title>My HTML application</title>
<HTA:APPLICATION
  APPLICATIONNAME="My HTML application"
  ID="MyHTMLapplication"
  VERSION="1.0"/>
</head>

<script language="VBScript">
Sub Window_OnLoad
Dim objDict
Set objDict = window.dialogArguments
DataArea.InnerHTML = "<input type=""radio"" name=""rbTest"" value=""Radio 1"">" & objDict.Item("a") & "<BR>" & vbCr & _
         "<input type=""radio"" name=""rbTest"" value=""Radio 2"">" & objDict.Item("b") & "<BR>" & vbCr & _
         "<input type=""radio"" name=""rbTest"" value=""Radio 3"">" & objDict.Item("c") & "<BR>" & vbCr
End Sub
</script>
<body>
<span id=DataArea></span>
</body>
</html>

2

Re: HTA: передача в модальное окно параметров пользовательской формы

Более продвинутый пример. Запускаем caller.hta

Post's attachments

ModalDialogs.zip 4.28 kb, 400 downloads since 2010-06-06 

You don't have the permssions to download the attachments of this post.