【发布时间】:2013-03-22 21:06:01
【问题描述】:
编辑:几个月后,我再次尝试使用与第一次尝试相同的语法(发布在下面)。出于某种原因,它奏效了!也许我的语法以外的其他东西导致了无效......结束编辑
我已经在论坛上搜索了几个小时,试图找到解决这个问题的方法,但是我尝试过的方法都不起作用。
我正在使用 VBA 自动执行在 SurveyMonkey 上创建调查的过程。到目前为止,我已经能够:
- 登录我的帐户,
- 单击多个超链接以创建新的响应收集器,
- 命名收集器,
- 转到收集器设置,
- 然后,选择四个单选按钮中的三个来更改收集器设置。
问题不在于我无法选择单选按钮;我的代码选择了前三个按钮就好了。令我困惑的是,第四个按钮并没有改变!我对每个按钮使用相同的过程,所以我无法弄清楚为什么最后一个按钮不会选择。
这是我的代码部分:
objIE.Document.getElementById("rdlResponseType_1").Click 'Allow multiple responses = Yes
objIE.Document.getElementById("rdlResponseEdit_1").Click 'Allow Responses to be Edited = Yes
objIE.Document.getElementById("rdlThankyou_1").Click 'Display a "Thank You" page? = Yes
objIE.Document.getElementById("rdlCompleteOpt_1").Click 'Survey Completion = Close Window
这是单选按钮的 HTML:
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%;">
<tr id="CompleteOptDesc">
<td style=""> </td>
<td>After the respondent leaves the survey:</td>
</tr>
<tr id="CompleteOptItems">
<td style=""> </td>
<td align="left" nowrap="nowrap" valign="top">
<table id="rdlCompleteOpt" class="Clean radioList" OnClick="radioToggle('rdlCompleteOpt', '0', 'panLink');" name="rdlCompleteOpt" border="0" style="white-space: nowrap">
<tr>
<td><span style="white-space: nowrap"><input id="rdlCompleteOpt_0" type="radio" name="rdlCompleteOpt" value="0" checked="checked" /><label for="rdlCompleteOpt_0"><b>Redirect</b> to your own webpage.</label></span></td>
</tr><tr>
<td><input id="rdlCompleteOpt_1" type="radio" name="rdlCompleteOpt" value="2" /><label for="rdlCompleteOpt_1"><b>Close Window</b></label></td>
</tr>
</table>
这是收音机切换部分的代码:
<td width="65%" valign="top">
<div id="panLink" style="DISPLAY:inline">
<div class="URLinfo">
<b>Enter a URL</b> to jump to upon leaving the survey:<br />
<div title="REQUIRED: Enter URL (255 character max)" style="padding:4px 0 2px 0;">
<input name="txtWebLink" type="text" value="http://www.surveymonkey.com/" maxlength="255" size="40" id="txtWebLink" class="RQR opaque" />
</div>
<span class="tip">Example: <u>http://www.mysite.com/home.html</u></span>
</div>
</div>
</td>
任何建议将不胜感激!
【问题讨论】:
-
而不是调用click方法,您是否尝试将checked属性设置为true?
-
我试过这条线:
objIE.Document.all.item("rdlCompleteOpt")(1).Checked = True但它没有用。 -
objIE.document.getElementById("rdlCompleteOpt_1").Checked = True -
谢谢你的建议,蒂姆!我试过了,但是很可惜,它没有用。我没有收到任何错误(这很好),但单选按钮仍设置为默认值。
-
定义了一个java脚本,由单选按钮点击触发:onclick="radioToggle('rdlCompleteOpt', '0', 'panLink');"。 radioToggle 函数有什么作用?这段代码对我有用: Dim inputElement As HTMLInputElement Set inputElement = Document.getElementById("rdlCompleteOpt_1") inputElement.Click
标签: html excel internet-explorer vba radio-button