Мне нужно передать переменную из пакетного файла в значение ввода 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
Объединив ответы на несколько других похожих вопросов, одним из решений может быть:
Добавьте
id
атрибут (напримерlocation
, ) к вашемуinput
элементу.Считайте значение
%location%
с помощью ActiveX/Wscript, а затем используйте JavaScript, чтобы заменить его значение по умолчаниюinput
через событиеwindow.onload
1 .
Итак, по сути, ваш код может выглядеть примерно так:
<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>
Любая помощь будет оценена по достоинству...