herewith a working script
!INC Local Scripts.EAConstants-JScript
/*
* Script Name:
* Author:
* Purpose:
* Date:
*/
function main()
{
var testVal = InputBox("enter your input here", "My InputBox");
MsgBox(testVal);
}
main();
function MsgBox(prompt="", title="MsgBox", style=0) {
style += 4096; // to make the popup active (foreground)
var WSH = new COMObject("WScript.Shell");
return WSH.Popup(prompt, 0, title, style);
}
function InputBox(prompt="Input", title="Inputbox", defaultText="") {
const fso = new COMObject("Scripting.FileSystemObject");
const WSH = new COMObject("WScript.Shell");
const vbsScriptFile = WSH.ExpandEnvironmentStrings("%TEMP%\\ea_inputbox.vbs");
const tmpInputFile = WSH.ExpandEnvironmentStrings("%TEMP%\\ea_input.tmp");
if (!fso.FileExists(vbsScriptFile)) {
CreateInputboxVBS(vbsScriptFile);
}
WSH.Run(`WScript "${vbsScriptFile}" "${tmpInputFile}" "${prompt}" "${title}" "${defaultText}"`, 1, true);
const ForReading = 1;
const file = fso.OpenTextFile(tmpInputFile, ForReading);
if (!file.AtEndOfStream) {
return file.ReadAll();
}
return "";
}
function CreateInputboxVBS(vbsScriptFile) {
// function to create the inputbox VBS sripts in folder
const fso = new COMObject("Scripting.FileSystemObject");
const vbsScriptContent = `dim tmpInputFile, prompt, title, defaultText, input
Set objArgs = WScript.Arguments
If objArgs.Count = 4 Then
tmpInputFile = objArgs(0)
prompt = objArgs(1)
title = objArgs(2)
defaultText = objArgs(3)
input = InputBox(prompt, title, defaultText)
End if
Const ForWriting = 2, CreateIfNeeded = true
set fso = CreateObject("Scripting.FileSystemObject")
set file = fso.OpenTextFile(tmpInputFile, ForWriting, CreateIfNeeded)
file.write input
file.close`.replace(/\t\t/g, '');
const overwrite=true, unicode=true;
const file = fso.CreateTextFile(vbsScriptFile, overwrite, unicode);
file.Write(vbsScriptContent);
file.Close();
}