如何强制用户选择一个带有 HTML 的复选框? [复制]

Posted

技术标签:

【中文标题】如何强制用户选择一个带有 HTML 的复选框? [复制]【英文标题】:How o force the user to select a single checkbox with HTML? [duplicate] 【发布时间】:2021-04-30 14:40:57 【问题描述】:

我正在用 html 创建一个测验。可以通过选择复选框来回答问卷。到目前为止试试这个:

<h3>This is question 1?</h3>
<input type="radio" name="answer1" id="c01" value="0"/> answer A
<input type="radio" name="answer2" id="c02" value="0" /> answer B
<h3>This is question 2?</h3>
<input type="radio" name="answer3" id="c03" value="0"/> answer 1
<input type="radio" name="answer4" id="c04" value="0" /> answer 2
<input type="radio" name="answer5" id="c05" value="0"/> answer 3

但是,前面的语句不起作用,因为我只想选择一个且只有一个答案(不允许每个答案选择多个复选框)。如何强制用户仅使用 html 标签为每个不同的问题选择一个复选框?

【问题讨论】:

【参考方案1】:

使用字段集:

<fieldset id="question1">
<legend>Question 1:</legend>
    <input type="radio" value="value1" name="question1">Answer 1</input>
    <input type="radio" value="value2" name="question1">Answer 2</input>
</fieldset>
<fieldset id="question2">
<legend>Question 2:</legend>
    <input type="radio" value="value1" name="question2">Answer 1</input>
    <input type="radio" value="value2" name="question2">Answer 2</input>
</fieldset>

没有字段集:

<h3>This is question 1?</h3>
<input type="radio" value="value1" name="question1">Answer 1</input>
<input type="radio" value="value2" name="question1">Answer 2</input>

<h3>This is question 2?</h3>
<input type="radio" value="value1" name="question2">Answer 1</input>
<input type="radio" value="value2" name="question2">Answer 2</input>

【讨论】:

感谢您的帮助,我对名称感到困惑【参考方案2】:

您需要为所有输入 type="radio" 赋予相同的名称,这会将它们变成单选按钮,而不是像现在这样的复选框。

谢谢,

【讨论】:

以上是关于如何强制用户选择一个带有 HTML 的复选框? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何验证用户在 CheckBoxList 中选择了至少一个复选框?

带有选择、复选框和单选按钮的 Angular JS 表单

使用 php/或 html 保存为对话框以在用户选择中写入

appendChild() 复选框:记住带有浏览器后退按钮的选择

如何使用带有复选框的jQuery change()?

如何使用uwp中的全选复选框创建带有复选框项目的列表视图