javascript - 错误:表单提交因表单未连接而取消,React.js
问题描述
我是 React.js 的新手,我正在编写我的第一个练习应用程序,我在一个表单中发现了这个错误:
export default function PanelAdd(props) {
const [getTitle, setTitle] = useState('');
const [getImage, setImage]= useState('');
const [getRating, setRating] = useState('');
const onsubmit = () => {
props.onadd({
title: getTitle,
image: getImage,
rating: getRating
});
props.oncancel();
}
//functions changes
const onChangeTitle = (e) => {
setTitle(e.target.value);
}
const onChangeImage = (e) => {
setImage(e.target.value);
}
const onChangeRating = (e) => {
setRating(parseInt(e.target.value));
}
return (
<div className="new-item-panel-container">
<div className="new-item-panel">
<form onSubmit={onsubmit}>
<p>
<label>Titulo del libro</label><br/>
<input type="text" name="title" className="input" onChange={onChangeTitle}/>
</p>
<p>
<label>Nombre de imagen</label><br/>
<input type="text" name="image" className="input" onChange={onChangeImage} />
</p>
<p>
<label>Clasificación</label><br/>
<select onChange={onChangeRating}>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</p>
<input type="submit" className="button btn-blue" value="Registrar libro"/>
<input type="button" className="button btn-normal" onClick={props.oncancel} value="Cancelar"/>
</form>
</div>
</div>
);
}
按下提交按钮会导致错误。我认为该错误是因为在提交之前加载了html,但我不太清楚为什么会出现错误。
我也尝试过e.preventDefault();
inoncancel
和onsubmit
function 但它不起作用。
我已经检查了其他问题,但它对我不起作用。
解决方案
您可以在处理程序preventDefault
内部调用onsubmit
:
const onsubmit = (e) => {
e.preventDefault();
props.onadd({
title: getTitle,
image: getImage,
rating: getRating
});
}
推荐阅读
- python - 获取使用传递引用的 COM 对象的返回值
- javascript - 从文件读取时未定义
- azure - Azure Active Directory 双重同意、非确定性流
- mysql - 如何使用 Knex.js 在 MySQL 上编写“FORCE INDEX (index_key)”?
- applescript - 使用 Applescript 将图像文件夹复制到另一个文件夹时遇到问题
- rest - 如何处理微服务架构中的指数调用层次结构?
- image - Fluttes 不更新图像状态
- c++ - 在 Docker 中调试 .NET Core 应用程序 - 附加到非托管代码
- google-apps-script - 谷歌表 onedit 方法会导致脚本崩溃,否则会起作用?
- python - 使用pandas python按组计算字符串中的单词数