首页 > 解决方案 > 复选框返回

问题描述

我正在创建一个表单,但是无论我是否选择它,返回都是“on”这个词

我想返回“接受回复”或“不接受..”

我的棱镜方案是这样的:

datasource db {
    provider = "mysql"
    url      = env("DATABASE_URL")
}

generator client {
    provider = "prisma-client-js"
}

model Teams {
    id          Int      @id @default(autoincrement())
    title       String?
    description String
    status      String
    createdAt   DateTime @default(now())
}

我的 API 是这样的:

import { PrismaClient } from '@prisma/client';

export default async function handler(req, res) {
    if (req.method !== 'POST') return res.status(404).json({ error: true, message: 'not found' });
  
    const data = {
      data: {
        title: req.body.title,
        description: req.body.description,
        status: req.body.status,
      },
    };
  
    console.log(data);
    const prisma = new PrismaClient();
    const result = await prisma.teams.create(data);
    // await /* save  data to prisma db */
    if (result) return res.status(200).json({ result });
    return res.status(500).json({ result });
  } 

这是我的表格

const formRef = useRef();

  async function AddTeam() {
    setDisable(true);

    const { AddTeamTitle, AddTeamDescription, AddTeamStatus } = formRef.current;

    const title = AddTeamTitle.value;
    const description = AddTeamDescription.value;
    const status = AddTeamStatus.value;

    await axios.post("/api/addTeam", {
      title,
      description,
      status,
    });

    setDisable(false);
    window.location.reload();
  }


<legend className="text-sm font-medium text-gray-900">
                              Accepting Answers?
                            </legend>
                            <div className="mt-2 space-y-5">
                              <div className="relative flex items-start">
                                <div className="absolute flex items-center h-5">
                                  <input
                                    name="AddTeamStatus"
                                    aria-describedby="privacy-public-description"
                                    type="checkbox"
                                    className="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300"
                                    defaultChecked
                                  />
                                </div>
                            

但是,当我在表单上提交回复时,这是终端上的回复。 在此处输入图像描述

有谁知道如何返回“接受”或“不接受”?

有谁知道他从哪里得到那个“on”这个词?

谢谢!

标签: reactjsformsapiprisma

解决方案


推荐阅读