【发布时间】:2021-03-09 08:01:39
【问题描述】:
所以我专门为这个问题编写了这个反应小反应形式,我想给它添加一个功能。
代码如下:
import React, { useState } from "react";
export default function App() {
const [formInfo, setFormInfo] = useState({ name: "", email: "" });
function onch(e) {
const { value, id } = e.target;
id === "name"
? setFormInfo({ ...formInfo, name: value })
: setFormInfo({ ...setFormInfo, email: value });
}
function onsub(e) {
e.preventDefault();
const { name, email } = formInfo;
if (name === "") {
alert("fill your name");
} else if (email === "") {
alert("fill out your email");
} else {
alert("done");
setFormInfo({ name: "", email: "" });
}
}
const { name, email } = formInfo;
return (
<form action="" onSubmit={onsub}>
<div className="input">
<label htmlFor="">Name</label>
<input type="text" name="" id="name" onChange={onch} value={name} />
</div>
<div className="input">
<label htmlFor="">E-mail</label>
<input type="text" name="" id="email" onChange={onch} value={email} />
</div>
<div className="input">
<button type="submit">Submit</button>
</div>
</form>
);
}
您会看到如果您没有填写其中一个输入,它将触发警报。但我想用焦点替换警报。因此,当我忘记填写某个输入时,它将专注于那个空输入 基本上是告诉我填写。
提前致谢
【问题讨论】:
-
您是否考虑将
required添加到input中?如果用户不填写,它将聚焦并警告用户
标签: javascript reactjs react-forms