Передать переменную из пакета во входное значение HTML

Передать переменную из пакета во входное значение HTML

Мне нужно передать переменную из пакетного файла в значение ввода html. Если я устанавливаю a %variable%в значение ввода html, оно возвращает %variable%, но не его реальное значение.

Мой код:

<!-- :
 :: textSubmitter.bat
 @echo off

 set "location=bob"



 for /f "tokens=1-8 delims=," %%a in ('mshta.exe "%~f0"') do (
     set "dossier=%%a"
     set "occupation=%%b"
     set "lieu=%%c"
    set "dated=%%d"
     set "datef=%%e"
     set "ets=%%f"
    set "type=%%g"
     set "subdi=%%h"
 )

     echo "Dossier =%dossier%"
     echo "Occupation =%occupation%"
     echo "Lieu :=%lieu%"
    echo "Date Debut : =%dated%"
     echo "Date Fin : =%datef%"
     echo "Entreprise : =%ets%"
    echo "Type : =%type%"
     echo "Subdi : =%subdi%"

 pause
 goto :EOF

 -->

 <html>
   <head>
     <title>Classement chantier</title>
   </head>
   <body>

     <script language='javascript' >
         function pipeText() {
             var dossier=document.getElementById('dossier').value;
             var occupation=document.getElementById('occupation').value;
             var lieu=document.getElementById('lieu').value;
            var dated=document.getElementById('dated').value;
             var datef=document.getElementById('datef').value;
             var ets=document.getElementById('ets').value;
            var type=document.getElementById('type').value;
             var subdi=document.getElementById('subdi').value;

             var Batch = new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1);
             close(Batch.WriteLine(dossier+','+occupation+','+lieu+','+dated+','+datef+','+ets+','+type+','+subdi));
       }
     </script>

     Dossier : <input type='text' name='dossier' size='25' value='%location%'></input><br>
     Occupation : <input type='text' name='occupation' size='25'></input><br>
     Lieu : <input type='text' name='lieu' size='25'></input><br>
    Date Debut : <input type='text' name='dated' size='25'></input><br>
     Date Fin : <input type='text' name='datef' size='25'></input><br>
     Entreprise : <input type='text' name='ets' size='25'></input><br>
    Type : <input type='text' name='type' size='25'></input><br>
     Subdi : <input type='text' name='subdi' size='25'></input><br>

     <hr>
     <button onclick='pipeText()'>Submit</button>
   </body>
 </html>

В html-форме переменная %location%должна возвращать значение «bob», но возвращает « %location%».

<input type='text' name='dossier' size='25' value='%location%'>

Как мне установить пакетную переменную для входного значения HTML, чтобы получить значение «bob»?

решение1

Объединив ответы на несколько других похожих вопросов, одним из решений может быть:

  1. Добавьте idатрибут (например location, ) к вашему inputэлементу.

  2. Считайте значение %location%с помощью ActiveX/Wscript, а затем используйте JavaScript, чтобы заменить его значение по умолчанию inputчерез событие window.onload1 .

Итак, по сути, ваш код может выглядеть примерно так:

<script language='javascript'>
    window.onload = function(e){
        var envlocation = new ActiveXObject('wscript.shell');
        envLocation = envlocation.ExpandEnvironmentStrings('%location%');
        document.getElementById('location').value = envLocation
    }
</script>

Dossier : <input type='text' id='location' name='dossier' size='25'></input><br>

1 document.onloadК сожалению, здесь это, похоже, не сработало.


решение2

Спасибо, у меня все заработало, но мне нужно упорядочить код JavaScript ниже:

<script language='javascript'> 
     window.onload = function(e){
     var envlocation = new ActiveXObject('wscript.shell');
     envLocation = envlocation.ExpandEnvironmentStrings('%dossier%');
     document.getElementById('dossier').value = envLocation     
     envLocation = envlocation.ExpandEnvironmentStrings('%occupation%');
     document.getElementById('occupation').value = envLocation  
     envLocation = envlocation.ExpandEnvironmentStrings('%lieu%');
     document.getElementById('lieu').value = envLocation    
     envLocation = envlocation.ExpandEnvironmentStrings('%dated%');
     document.getElementById('dated').value = envLocation   
     envLocation = envlocation.ExpandEnvironmentStrings('%datef%');
     document.getElementById('datef').value = envLocation   
     envLocation = envlocation.ExpandEnvironmentStrings('%ets%');
     document.getElementById('ets').value = envLocation     
     envLocation = envlocation.ExpandEnvironmentStrings('%type%');
     document.getElementById('type').value = envLocation    
     envLocation = envlocation.ExpandEnvironmentStrings('%subdi%');
     document.getElementById('subdi').value = envLocation } 
</script>

Любая помощь будет оценена по достоинству...

Связанный контент