Я создаю сценарий HTA / Batch, который включает в себя интерфейс для пользователя, чтобы отправить htareply в пакетный сценарий, который отправит ссылку на сервер для выполнения сценария сборки в Jenkins. Все отлично работает, но мне было интересно, могу ли я оставить окно hta открытым, чтобы пользователь мог выбрать другой вариант, если это необходимо. Есть идеи?
Я попытался удалить window.close()
из javascript, но затем он не отправляет htareply в пакетный скрипт.
<!-- :: Batch section
@echo off
setlocal
echo Select an option:
for /F "delims=" %%a in ('mshta.exe "%~F0"') do set "HTAreply=%%a"
echo End of HTA window, reply: "%HTAreply%"
PAUSE
goto :EOF
-->
<HTML>
<HEAD>
<HTA:APPLICATION SCROLL="no" SYSMENU="no" >
<TITLE>HTA Radio Buttons</TITLE>
<SCRIPT language="JavaScript">
window.resizeTo(440,170);
var reply = "No button selected";
function sendreply(){
var fso = new ActiveXObject("Scripting.FileSystemObject");
fso.GetStandardStream(1).WriteLine(reply);
//window.close();
}
</SCRIPT>
</HEAD>
<BODY>
<p>Select an option.</p>
<label><input type="radio" name="option1" onclick="reply=this.value"
value="option1">Option1</label>
<label><input type="radio" name="option2" onclick="reply=this.value"
value="option2">Option2</label>
<label><input type="radio" name="option3" onclick="reply=this.value"
value="option3">Option3</label>
<br><br>
<button onclick="sendreply()">Submit</button>
<button onclick="window.close()">Close</button>
</BODY>
</HTML>
Я хотел бы, чтобы, если пользователь выбирает опцию и отправляет ее, окно hta остается открытым, пока он не выберет «закрыть».