배치 파일의 변수를 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%'>
"bob" 값을 얻으려면 배치 변수를 html 입력 값으로 어떻게 설정합니까?
답변1
다른 여러 유사한 질문의 답변을 결합하면 다음과 같은 해결책이 될 수 있습니다.
요소에
id
속성(예: )을 추가합니다 .location
input
ActiveX/Wscript로 값을 읽은 다음 JavaScript를 사용하여 1 이벤트를 통해
%location%
해당 기본값을 바꿉니다 .input
window.onload
따라서 본질적으로 코드는 다음과 같습니다.
<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
감사합니다. 이렇게 작동하게 되었지만 아래에 자바스크립트 코드를 정리해야 합니다.
<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>
어떤 도움이라도 주시면 감사하겠습니다...