You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NextJS 13中formData获取Checkbox值如何直接返回布尔类型?

解决方案

没办法直接从FormData拿到布尔类型的checkbox值,但可以通过简单转换实现:

方法一:用formData.has()判断(推荐)

FormData的has()方法会返回布尔值——当checkbox被勾选时,对应的字段会存在于FormData中,has()返回true;未勾选时字段不存在,返回false。代码修改如下:

export async function getDataForm(formData) {
    const bodyQuery = {
        // 其他字段...
        skip: formData.has("gridSkip")
    }
}

方法二:判断get()返回的值

如果checkbox被勾选,formData.get("gridSkip")会返回默认的字符串'on';未勾选则返回null,可以通过全等判断转换成布尔值:

export async function getDataForm(formData) {
    const bodyQuery = {
        // 其他字段...
        skip: formData.get("gridSkip") === 'on'
    }
}

补充说明:checkbox的默认value是'on',如果你给checkbox设置了自定义value属性(比如<input type="checkbox" name="gridSkip" value="true" />),那判断逻辑要改成对应的值,但has()的方法依然通用,不需要修改代码。

内容的提问来源于stack exchange,提问作者daruom mourad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:12:33