我使用Express.js和EJS来渲染视图。我正在构建一个小型Web应用程序并将变量传递给某个页面的呈现。该页面将使用for循环根据我传递的数组的大小生成一组单选按钮。单选按钮具有值,我将让用户选择一个选项,然后将其作为post方法传回。这是呈现页面上的代码。问题在于,单选按钮是独立生成的(允许我选择所有这些按钮......不是以典型的单选按钮方式选择其中一个)。
<div class="answers">
<h2 class="movie-header">Select One:</h2>
<form method="post">
<% for (var i = 0; i < answers.length; i++) { %>
<input type="radio" name="answer<%= i %>" value="<%= answers[i] %>"> <%= answers[i] %><br>
<% } %>
<input type="submit" value="Submit">
</form>
</div>
答案 0 :(得分:2)
您应该在每个单选按钮上使用相同的name
属性来创建“单选按钮组”,它只允许您从一组按钮中选择一个值。请参阅此页面上的“广播”类型:MDN html input
<input type="radio" name="answer" value="<%= answers[i] %>"> <%= answers[i] %><br>