VB程序员博客
某网页上的文本输入框,源码如下:
文本框源码:
<INPUT class="" id=NSRLSH onkeydown=eapObjsMgr.getEAPObj(this).enterToTab()style="BORDER-TOP-WIDTH:1px;BORDER-LEFT-WIDTH:1px;BORDER-BOTTOM-WIDTH:1px;WIDTH:259px;BORDER-RIGHT-WIDTH:1px"maxlength=20 name=string(NSRLSH) JSObjName="Taxpayer" prompt="纳税人流水号" onAffirm="btnClick('changePage')' model="SWJG" isnullable="flase" isUniEAP="true">
问题:怎么自动填写数据并模拟一下回车
原来这个问题在这儿发过,有人这样回复,不过这东西不是VB的,有点儿象DELPHI或PB
//输入数据
NSRLSH.text="abc";
//模拟回车
NSRLSH.focus();
var wsh = WScript.CreateObject("WScript.Shell");
wsh.SendKeys("{ENTER}");
wsh=null;
VB应
内部网络的页面啊,互联网看不到的
这么写中不?
Dim vDoc, vTag, i
Set vDoc = WebBrowser1.Document
For i = 0 To vDoc.All.length - 1
If UCase(vDoc.All(i).tagName) = "INPUT" Then
Set vTag = vDoc.All(i)
if vtag.name="string(NSRLSH)" Then
vTag.value="123321"
SendKeys "{ENter}"
vTag.Click
end if
我写的不行啊,点了没反映
参看下面贴子,将相关的需要修改的点击语句改为赋值语句,getElementById 根据需要改为getElementsByName
我想得太简单了,我只想点击后worksheets.sheet(1).clees(i,2).copy 然后past,写时我才发觉悟,还要先找到句柄才能粘贴,真的不如将getElementsByName替换下getElementById
学习
xue xi
看看怎么样
感觉非常幸运哦,我提的总是也能被推荐!!
哈哈哈,大笑中
不要把嘴巴都笑歪了啊
/**
* 解析JSON的数据格式,并把数据绑定到显示控件
* strJson 基本格式为控件NAME:值
* @param formName json格式的对象,注意显示控件的NAME要与JSON的键名要保持一致
*/
Tools.prototype.bindFormData = function(formName, jsonObj) {
try {
var form = document.forms[formName];
for (var key in jsonObj) {
var obj = document.forms[formName].document.getElementById(key);
if (obj) {
if (obj.tagName.toLowerCase() == "select") { //是否是 下拉框
obj.value = jsonObj[key];
} else if (obj.tagName.toLowerCase() == "textarea") { //清空 textarea 的 value
obj.value = jsonObj[key];
} else if (obj.tagName.toLowerCase() == "input") { //如果是input标签
if (obj.type.toLowerCase() == "checkbox" || obj.type.toLowerCase() == "radio") { //把单选,复选置于非选中状态
var bCheck = jsonObj[key];
if ((bCheck == 1)) {
obj.checked = true;
} else {
obj.checked = false;
}
bCheck = null;
} else if ((obj.type.toLowerCase() != "button") && (obj.type.toLowerCase() != "reset")) {//清空非按钮和非重置 的所有值
obj.value = jsonObj[key];
}
}
}
}
} catch(e) {
alert("客户端绑定错误:
" + "URL:
" + this._curPage + "
message:
" + e.message);
}
};
不知道能帮你不
mark
帮你顶人气!
不知道你在做什么呢!自动填写数据不就是赋值吗?回车不就是 submit() 一下吗?
学习
/**
* 解析JSON的数据格式,并把数据绑定到显示控件
* strJson 基本格式为控件NAME:值
* @param formName json格式的对象,注意显示控件的NAME要与JSON的键名要保持一致
*/
Tools.prototype.bindFormData = function(formName, jsonObj) {
try {
var form = document.forms[formName];
for (var key in jsonObj) {
var obj = document.forms[formName].document.getElementById(key);
if (obj) {
if (obj.tagName.toLowerCase() == "select ") { //是否是 下拉框
obj.value = jsonObj[key];
} else if (obj.tagName.toLowerCase() == "textarea ") { //清空 textarea 的 value
obj.value = jsonObj[key];
} else if (obj.tagName.toLowerCase() == "input ") { //如果是input标签
if (obj.type.toLowerCase() == "checkbox " || obj.type.toLowerCase() == "radio ") { //把单选,复选置于非选中状态
var bCheck = jsonObj[key];
if ((bCheck == 1)) {
obj.checked = true;
} else {
obj.checked = false;
}
bCheck = null;
} else if ((obj.type.toLowerCase() != "button ") && (obj.type.toLowerCase() != "reset ")) {//清空非按钮和非重置 的所有值
obj.value = jsonObj[key];
}
}
}
}
} catch(e) {
alert( "客户端绑定错误:
" + "URL:
" + this._curPage + "
message:
" + e.message);
}
};
确实好像有这问题的,谢谢分享
你这个问题只要的就是要实现模拟submit()
IE下的模拟方法:
var evt = document.createEventObject();
evt.keyCode = 13;
document.getElementById('NSRLSH').fireEvent(evt);
不错
mark!
弄不大明白
good
学习了.