如何在HTML中设置复选框选中时返回指定值(适用于Amazon Mturk调查)
实现Mturk复选框勾选时返回指定值的简便方法
嗨,我明白你在Amazon Mturk调查里的需求啦——要让那个“未找到邮箱”的复选框被勾选时,给你返回“no e-mail found”这个值。既然你几乎不懂HTML,我给你两个超简单的方案,直接改代码就能用:
方案1:用隐藏输入框配合复选框(最稳妥,适配Mturk)
这个方法是让复选框控制一个隐藏的输入框,当勾选时,隐藏框就会带上你要的值,Mturk能正常捕获到。直接把下面这段代码替换你原来的复选框代码就行:
<!-- 显示给参与者的复选框 --> <input type="checkbox" id="noEmailCheckbox" onclick="document.getElementById('hiddenEmailField').value = this.checked ? 'no e-mail found' : ''"> 未找到电子邮箱 <!-- 隐藏的输入框,用来传递值给Mturk --> <input type="hidden" name="email_result" id="hiddenEmailField" value="">
简单解释
- 参与者看到的是前面的复选框,勾选时会触发内置的小脚本,把隐藏框的
value设为“no e-mail found”;取消勾选的话,值就清空。 - Mturk会自动收集
name="email_result"这个输入框的值,完全符合你的需求,不需要额外的复杂操作。
方案2:直接修改复选框的value值(更简洁)
如果你不想用隐藏框,也可以直接给复选框设置value,不过要注意:只有当复选框被勾选时,Mturk才会返回这个value值;没勾选的话,这个字段不会出现在提交结果里。代码如下:
<input type="checkbox" name="email_result" value="no e-mail found"> 未找到电子邮箱
这个写法更短,适合需求简单的场景,你可以根据自己的实际情况选。
关键小提醒
不管用哪个方案,都要确保输入框的*name*属性是你在Mturk任务设置里要收集的字段名,这样Mturk才能正确把值同步给你哦。
内容的提问来源于stack exchange,提问作者ssjriley
相关产品推荐
相关产品推荐

