我试图简单地检查"是"如果用户点击"是"在互联网资源管理器输入复选框上到一个MsgBox弹出窗口,如果用户点击" No"在MsgBox上。无论我尝试什么,代码似乎都没有点击我希望它点击的按钮。
我的代码如下:
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
我还将包含包含Yes和No按钮的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>
我哪里错了? 更新编辑代码:
iRet = MsgBox(strPrompt, vbYesNo, strTitle)
If iRet = vbYes Then
Set Enrollment_Button = objIE.document.getElementById("classActionFlagReq")
Enrollment_Button.Checked = True
Else
MsgBox "No"
End If
答案 0 :(得分:0)
属性name
和id
不可互换。您没有任何id
等于“classActionFlagReq”的元素,因此getElementsById
找不到任何元素。
请注意,id
是唯一的,因此您不能像使用input
一样将id
设置为相同的name
。
答案 1 :(得分:0)
你有一些问题。
getElementById()
,而不是getElementsById()
。 getElementById()
返回一个对象。使用Set
。
Set Enrollment_Button = objIE.document.getElementById("classActionFlagReq")
使用Checked
属性设置复选框或单选按钮,而不是Value="Y"
。
Enrollment_Button.Checked = True
您对两个单选按钮使用相同的name
,这很好(这就是您如何定义广播&#34;组&#34;)但如果您想要访问单个单选按钮(以便您可以选择它),您需要分配一个唯一的ID(或使用不同的选择器方法,如getElementsByName
)。
答案 2 :(得分:0)
Set ieRadio = objIE.document.all
ieRadio.Item("classActionFlagReq")(1).Checked = True
这解决了我的问题!