javascript - 提交时从给定的复选框中至少强制选择一个复选框

标签 javascript reactjs react-bootstrap

我在表单组中有几个复选框。如何在提交时强制选择此感兴趣区域复选框?用户在提交之前至少单击一个复选框。我使用过react-bootstrap。

感谢任何帮助。

<Form.Group>
    <Form.Label>Area of Interest</Form.Label>
    <Form.Check
        name="areaOfInterest"
        label="Dedicated Teams"
        id="dt"
        value={"Dedicated Teams" || formInput.areaOfInterest}
        onChange={handleCheck}
    />
    <Form.Check
        name="areaOfInterest"
        label="Cloud Expert Advice &amp; Support"
        id="ceas"
        value="Cloud Expert Advice &amp; Support"
        onChange={handleCheck}
    />
    <Form.Check
        name="areaOfInterest"
        label="Software Development"
        id="sd"
        value="Software Development"
        onChange={handleCheck}
    />
    <Form.Check
        name="areaOfInterest"
        label="Digital Transformation"
        id="dit"
        value="Digital Transformation"
        onChange={handleCheck}
    />
</Form.Group>

最佳答案

在表单提交上,您可以检查是否存在选中复选框,如果没有选中,您可以返回 false

演示:

function submitForm(){
  if(!document.querySelector(':checked'))
    return false;
};
<form onsubmit="return submitForm()">
  <input type="checkbox" id="vehicle1" name="vehicle1" value="Bike">
  <label for="vehicle1"> I have a bike</label><br>
  <input type="checkbox" id="vehicle2" name="vehicle2" value="Car">
  <label for="vehicle2"> I have a car</label><br>
  <input type="checkbox" id="vehicle3" name="vehicle3" value="Boat">
  <label for="vehicle3"> I have a boat</label><br>
  
  <button>Submit</button>
</form>

关于javascript - 提交时从给定的复选框中至少强制选择一个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60318465/

相关文章:

javascript - select 标签中 ng-model 的问题

javascript - 从 div 中的图像获取 Id 属性

javascript - React bootstrap NavBar 未编译

javascript - ReactJS 提交带有默认值的表单

reactjs - 使用 refs.x.getDOMNode.focus 将焦点设置在react-bootstrap.Input 字段上

javascript - 异步服务调用后 ngHandsontable 数据行未定义

javascript - 澄清使用javascript检测ie

javascript - React 组件继承

javascript - 没有 babel 的 React 组件的 NPM 包

android - 如果我在端口 9999 上运行react-native packager,我如何告诉IOS模拟器这是要监听的端口?