我想发送一个表单,所以我为此创建了一个函数。我有一个提交表单,在表单的所有字段被完全填充之前,按钮不应该启用。
所有的验证是有效的,但这不是一个问题,我需要它的onclick事件。
我的代码可以工作,但是当我一次单击复选框使其为真,然后再次单击使其为假时,该按钮应该是禁用的,但它将再次被启用。..。
const [name, setName] = useState("");
const [surname, setSurname] = useState("");
const [email, setEmail] = useState("");
const [checkbox, setCheckbox] = useState(false);
let handleSubmit = async (e) => {
e.preventDefault();
try {
...
}
};
return(
<Input
required
type="text"
value={name}
placeholder="İsim"
onChange={(e) => setName(e.target.value)}
/>
<Input
required
type="text"
value={surname}
placeholder="Soyisim"
onChange={(e) => setSurname(e.target.value)}
/>
<Input
required
type="email"
placeholder="E-mail"
onChange={(e) => setEmail(e.target.value)}
/>
<Input
type="checkbox"
required
value={checkbox}
onChange={(e) => setCheckbox(e.target.value)}
/>
<input
type="submit"
name="Onaylıyorum"
disabled={!name || !surname || !email || !checkbox}
/>发布于 2022-01-04 16:41:52
对于复选框,您必须从value支柱更改为checked支柱,然后访问event.target.checked,即
<input type="checkbox" checked={checkbox} onChange={(e) => setCheckbox(e.target.checked)} />反应文档也有一个例子
发布于 2022-01-04 16:37:10
复选框是特殊的,并且没有.value,相反,您希望在复选框onChange函数中查找.checked。
像这样..。
onChange={(e) => setCheckbox(e.target.checked)}
https://stackoverflow.com/questions/70582030
复制相似问题