繁体   English   中英

混合批次/ jscript / hta:读取Jscript中的2个输入并将它们传递给Batch

[英]hybrid batch/jscript/hta: read 2 inputs in Jscript and pass them to 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中,我总是会出错!

在此先感谢您,希望有人可以帮助我。

如果您需要返回多个值,最简单的方法是将它们与定界符连接起来,并正确配置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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM