好吧,这是一个初学者提出的一个非常具体的问题,所以请耐心等待。
我是一个新手,刚刚学习的绳索。这是背景(如果你不关心,请跳到下一段):我正在更新我的第一个 android 应用程序,我正在使用MIT App Inventor 2来完成它。这是一个免费的在线工具,它使用所见即所得的屏幕编辑器和 Blockly 来创建行为、交互等。我正在制作的应用程序会加载带有表单的特定网页并为您填写大部分表单(具体来说,它是为了帮助人们进入戏剧表演的在线彩票)。该页面不是我自己的,所以我无法编辑 HTML。但是我可以通过将单行 javascript 代码插入 App Inventor 的 Blockly 端来在其上运行 javascript。这是它外观的相关示例。
我已经弄清楚如何使用 getElementByID() 填写大部分表单。但是有一组没有 id 的单选按钮。这是 HTML 的轻微修改版本(我无法编辑):
<div id="cont_id_tickets">
<div>
<input type="radio" name="tickets" value="1" />
<span style="font-family:Times New Roman; font-size:15px;">1</span>
</div>
<div>
<input type="radio" name="tickets" value="2" />
<span style="font-family:Times New Roman; font-size:15px;">2</span>
</div>
<div id="required_info_tickets" class="requiredInfo floatLeft">
</div>
<input type="hidden" name="reqField" value="tickets" alt="Radio" req="true" errorMsg="Please enter a valid value." requredErrorMsg="This field is required. Please enter a value."
patternID="0" customRegex="" />
</div>
通过使用以下内容,我取得了一些进展:
document.querySelector('input[name=tickets]').checked = true;
但这当然只选择第一个单选按钮。我希望能够获得一个值(1 或 2)并让它相应地选择正确的按钮。我使用的 Blockly 后端允许我定义一个变量以插入 javascript 行,但 javascript 行本身必须是单行。例如,如果我希望该值为 2,我希望以下其中一项可以工作:
document.querySelector('input[name=tickets][value=2]').checked = true;
document.querySelector('input[name=tickets]').2.checked = true;
但也没有。关于正确语法的任何想法?
谢谢!