const InputsSignUp = () => {
const email = "";
const password= ""
const [state, setState] = React.useState({
email: ""
})
function handleChange(evt) {
evt.preventDefault();
setState({ firstName: evt.target.value });
}
return (
<>
<Container fluid="sm" style={{backgroundColor: 'white'}}>
<h1>{email}</h1>
<h1>{password}</h1>
<Form>
<Form.Group className="mb-3" controlId="formBasicUsername">
<Form.Label>Email address</Form.Label>
<Form.Control type="text" placeholder="Enter email" value={state.email} onChange={handleChange} />
<Form.Text className="text-muted">
We'll never share your email with anyone else.
</Form.Text>
</Form.Group>
<Button variant="primary" type="submit" onSubmit={console.log(state.email)}>
Submit
</Button>
</Form>
</Container>
</>
)
}
export default InputsSignUp;
下面是我的表单的代码
每次我在字段中输入文本时,它都会继续提交请求,在本例中是记录输入的数据
如何更改代码,使其仅在我按下“提交”按钮时提交请求
1条答案
按热度按时间5hcedyr01#
您实际上并没有提交表单。您的
Form.Control
实现是正确的。问题只是Button
处理程序。如下所示:和这个是一样的
这只是一个基本的JavaScript --应该可以让问题变得很清楚。每次组件呈现时都运行
console.log
,并将undefined
作为提交处理程序传递。而是传递一个函数作为提交处理程序,然后在调用时运行
console.log
本身。