关于用Wscript.Shell模拟键盘输入的问题,高手请进
网页上有若干file控件,想通过模拟键盘输入给每个file输入值, 模拟键盘输入都没问题,可是值确只输出在最后一个file里面,感觉上是SendKeys方法是从缓存里面全部输出的,不知道怎么解决
代码如下:
<html>
<head>
<title></title>
<script>
function onTest(len){
for(i=1;i<=len;i++){
var obj = eval("document.form1.fileName"+i);
obj.focus();
var srcValue=i+".jpg";
var WshShell = new ActiveXObject("Wscript.Shell");
try{
WshShell.SendKeys(srcValue);
}catch(e){
alert(e);
}
WshShell.Quit;
}
}
</script>
</head>
<body>
<table>
<form name="form1" method="post" action="" enctype="multipart/form-data">
<tr>
<td>
<input name="fileName1" type="file"/>
<input name="fileName2" type="file"/>
<input name="fileName3" type="file"/>
<input name="fileName4" type="file"/>
<input name="fileName5" type="file"/>
<input type="button" onClick="onTest(5);" value="ok">
</td>
</tr>
</form>
</table>
</body>
</html>
期望的结果是:file1控件里面值是1.jpg file2里面是2.jpg ...file5里面是5.jpg
实际结果是:file1至file4都为空,file5里面是全部值:1.jpg2.jpg3.jpg4.jpg5.jpg
请问怎么才能解决这个问题
代码如下:
<html>
<head>
<title></title>
<script>
function onTest(len){
for(i=1;i<=len;i++){
var obj = eval("document.form1.fileName"+i);
obj.focus();
var srcValue=i+".jpg";
var WshShell = new ActiveXObject("Wscript.Shell");
try{
WshShell.SendKeys(srcValue);
}catch(e){
alert(e);
}
WshShell.Quit;
}
}
</script>
</head>
<body>
<table>
<form name="form1" method="post" action="" enctype="multipart/form-data">
<tr>
<td>
<input name="fileName1" type="file"/>
<input name="fileName2" type="file"/>
<input name="fileName3" type="file"/>
<input name="fileName4" type="file"/>
<input name="fileName5" type="file"/>
<input type="button" onClick="onTest(5);" value="ok">
</td>
</tr>
</form>
</table>
</body>
</html>
期望的结果是:file1控件里面值是1.jpg file2里面是2.jpg ...file5里面是5.jpg
实际结果是:file1至file4都为空,file5里面是全部值:1.jpg2.jpg3.jpg4.jpg5.jpg
请问怎么才能解决这个问题
...全文
相关推荐
VBS控制鼠标和按键的脚本
**SendKeys** 方法:通过`WScript.Shell`对象调用`SendKeys`方法,我们可以模拟键盘输入。
vbs调用runas自动输入密码无需批处理sanur和CPAU 等工具了
本文介绍如何通过WScript.Shell对象执行gpupdate命令来强制更新组策略,并模拟键盘输入管理员密码。文中提供了代码示例并指出需要注意的问题,包括输入法状态、密码显示及程序兼容性。
可以关闭计算机的js脚本
WScript.Shell 对象提供了许多方法,包括发送键盘输入、运行应用程序、显示对话框等。
用VBS实现一个小键盘动作CTRL+V粘贴操作与思路分析
在这个问题中,我们需要关注的关键技术点有:1. **WScript.Shell对象**:VBS提供了WScript.Shell对象,它可以用来执行命令行操作、创建快捷方式以及模拟键盘和鼠标事件。
windows下批处理连接linux
"show run{ENTER}"```- **`Set sh = WScript.CreateObject("WScript.Shell")`**:创建一个WScript.Shell对象,用于发送模拟键盘事件


