Html 在internet explorer中单击输入复选框
如果用户在MsgBox弹出窗口中单击“是”,我尝试在internet explorer输入复选框中选中“是”,或者如果用户在MsgBox上单击“否”,则不执行任何操作。无论我尝试什么,代码似乎都没有单击我希望它单击的按钮 我的代码如下:Html 在internet explorer中单击输入复选框,html,vba,excel,internet-explorer,input,Html,Vba,Excel,Internet Explorer,Input,如果用户在MsgBox弹出窗口中单击“是”,我尝试在internet explorer输入复选框中选中“是”,或者如果用户在MsgBox上单击“否”,则不执行任何操作。无论我尝试什么,代码似乎都没有单击我希望它单击的按钮 我的代码如下: strPrompt = "Please look to see if this client has a valid brokerage account available for enrollment. Would you like to enroll thi
strPrompt = "Please look to see if this client has a valid brokerage account available for enrollment. Would you like to enroll this client in FRT service and submit a ticket?"
strTitle = "User Input Required"
iRet = MsgBox(strPrompt, vbYesNo, strTitle)
If iRet = vbYes Then
Enrollment_Button = objIE.document.getElementsById("classActionFlagReq")
Enrollment_Button.Value = "Y"
Else
MsgBox "No"
End If
我还将包括HTML源代码,其中包含“是”和“否”按钮:
<SPAN class=radio2>
<input name="classActionFlagReq" class="radio2" type="radio" value="Y"></input>
</span>
<SPAN class=radio2>
<input name="classActionFlagReq" class="radio2" type="radio" value="N"></input>
</span>
属性
name
和id
不可互换。您没有任何id
等于“classActionFlagReq”的元素,因此getElementsById
找不到任何元素
请注意,
id
是唯一的,因此您不能像使用name
s那样将两个输入设置为相同的id
。属性name
和id
是不可互换的。您没有任何id
等于“classActionFlagReq”的元素,因此getElementsById
找不到任何元素
请注意,id
是唯一的,因此您不能像使用name
s那样将两个输入设置为相同的id
。您遇到了一些问题
它是getElementById()
,而不是getElementsById()
getElementById()
返回一个对象。使用设置
Set Enrollment_Button = objIE.document.getElementById("classActionFlagReq")
使用Checked
属性设置复选框或单选按钮,而不是Value=“Y”
您对两个单选按钮使用相同的名称
,这很好(这就是您定义单选“组”的方式),但是如果您想要访问单个单选按钮(以便可以选择它),则需要分配一个唯一的ID(或者使用不同的选择器方法,如getElementsByName
)
你有一些问题
它是getElementById()
,而不是getElementsById()
getElementById()
返回一个对象。使用设置
Set Enrollment_Button = objIE.document.getElementById("classActionFlagReq")
使用Checked
属性设置复选框或单选按钮,而不是Value=“Y”
您对两个单选按钮使用相同的名称
,这很好(这就是您定义单选“组”的方式),但是如果您想要访问单个单选按钮(以便可以选择它),则需要分配一个唯一的ID(或者使用不同的选择器方法,如getElementsByName
)
这解决了我的问题
这解决了我的问题 事实上,IE会自动为所有命名元素创建ID,所以他在那里应该很好(即使是偶然)。所以我只是将代码更改为“Enrollment_Button=objIE.document.getElementsByName(“classActionFlagReq”)”,但我仍然没有得到任何运气。有什么想法吗?事实上,IE会自动为所有命名元素创建ID,所以他在那里应该很好(即使是偶然)。所以我只是将代码更改为“Enrollment_Button=objIE.document.getElementsByName(“classActionFlagReq”)”,但我仍然没有得到任何运气。关于这一点有什么想法吗?我只是在作品的底部做了一个改动。但它仍然没有勾选任何框。我应该在变量的末尾添加一个(0)来指定第一个变量吗?尝试为一个变量分配一个id
属性,看看脚本是否可以找到它。我想你会出错的。您没有声明下一步的错误恢复,对吗?只需将id=“mytest”
添加到一个
元素中,然后使用getElementById(“mytest”)
。没错,我启用了错误处理程序。我刚刚禁用了它,错误导致出现“Enrollment_Button.Checked=True”语句,告诉我对象不支持此属性或方法。不幸的是,我不知道您将ID属性指定给变量是什么意思。我是VBA新手。我在谷歌上搜索了一下,没有找到多少。试着使用一个特定的ID,正如我上面提到的Checked=True
应该可以工作。查看文档中的单选按钮。我刚刚更改了OP的底部。但它仍然没有选中任何框。我应该在变量的末尾添加一个(0)来指定第一个变量吗?尝试为一个变量分配一个id
属性,看看脚本是否可以找到它。我想你会出错的。您没有声明下一步的错误恢复,对吗?只需将id=“mytest”
添加到一个
元素中,然后使用getElementById(“mytest”)
。没错,我启用了错误处理程序。我刚刚禁用了它,错误导致出现“Enrollment_Button.Checked=True”语句,告诉我对象不支持此属性或方法。不幸的是,我不知道您将ID属性指定给变量是什么意思。我是VBA新手。我在谷歌上搜索了一下,没有找到多少。试着使用一个特定的ID,正如我上面提到的Checked=True
应该可以工作。查看文档中的单选按钮。
Enrollment_Button.Checked = True
Set ieRadio = objIE.document.all
ieRadio.Item("classActionFlagReq")(1).Checked = True