Гибридный пакет/jscript/hta: прочитайте 2 входа в Jscript и передайте их в пакет

Всем доброе утро,

В настоящее время я пишу небольшую программу batch/jscript/hta.

В следующей программе я читаю поле ввода текста, передаю текст в пакет и отображаю его там:

<!-- :: Batch section
@echo off
setlocal

for /F "delims = " %%a in ('mshta.exe "%~F0"') do set "result=%%a"
echo End of HTA window, reply: "%result%"
pause
goto :EOF
-->


<HTML>
<HEAD>
<HTA:APPLICATION SCROLL = "no" SYSMENU = "no" >

<TITLE>HTA Buttons</TITLE>
<SCRIPT language = "JavaScript">
window.resizeTo(374,400);

function myFunction() {
  var x = document.getElementById("myText").value;  
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  fso.GetStandardStream(1).WriteLine(x);
  window.close();
}

</SCRIPT>
</HEAD>
<BODY>
   <h3>A demonstration of how to access a Text Field</h3>

    <input type = "text" id = "myText" value = "0123">

    <p>Click the "Login" button to get the text in the text field.</p>

    <button onclick = "myFunction()">Login</button>

</BODY>
</HTML>

Это прекрасно работает.

Теперь мой вопрос: Как я могу прочитать два поля ввода текста и передать их в пакет? Я всегда получаю ошибки в части Jscript!

Заранее спасибо, надеюсь, кто-нибудь поможет мне с этим.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
162
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вам нужно вернуть более одного значения, самый простой способ - объединить их с помощью символа-разделителя и правильно настроить for /f для разделения строки чтения на отдельные токены.

<!-- :: Batch section
@echo off
    setlocal enableextensions disabledelayedexpansion

    rem Defined which tokens we need and the delimiter between them
    for /F "tokens=1,2 delims=|" %%a in ('mshta.exe "%~F0"') do (
        set "field1=%%a"
        set "field2=%%b"
    )

    echo End of HTA window, reply: "%field1%" "%field2%"
    pause
    goto :EOF
-->
<HTML><HEAD><HTA:APPLICATION SCROLL = "no" SYSMENU = "no" >
<TITLE>HTA Buttons</TITLE>
<SCRIPT language = "JavaScript">
    window.resizeTo(374,400);

    function myFunction() {
        new ActiveXObject("Scripting.FileSystemObject")
            .GetStandardStream(1)
            .WriteLine(
                [ // Array of elements to return joined with the delimiter
                      document.getElementById("myText").value
                    , document.getElementById("myText2").value
                ].join('|')
            );
        window.close();
    };
</SCRIPT>
</HEAD>
<BODY>
   <h3>A demonstration of how to access a Text Field</h3>
    <input type = "text" id = "myText"  value = "0123">
    <input type = "text" id = "myText2" value = "4567">
    <p>Click the "Login" button to get the text in the text field.</p>
    <button onclick = "myFunction()">Login</button>
</BODY>
</HTML>

Отлично! Большое спасибо! Мой вызов GetStandardStream(1).WriteLine был неправильным!

TheDude 04.02.2019 12:54

Другие вопросы по теме