Html 在文本区域按enter键时对论坛提交作出反应
A我正在制作这个论坛类型的应用程序,要创建一个帖子,你需要通过一个带有文本区域的表单;我想支持降价。因此,要做到这一点,您需要支持新品功能。当我按enter键时,会出现以下错误: 这是密码Html 在文本区域按enter键时对论坛提交作出反应,html,reactjs,Html,Reactjs,A我正在制作这个论坛类型的应用程序,要创建一个帖子,你需要通过一个带有文本区域的表单;我想支持降价。因此,要做到这一点,您需要支持新品功能。当我按enter键时,会出现以下错误: 这是密码 export default class CreatePost extends Component { state = { redirect: false, Title: '', Author: '', Body: '', }; updateState = e =
export default class CreatePost extends Component {
state = {
redirect: false,
Title: '',
Author: '',
Body: '',
};
updateState = e => {
this.setState({ [e.target.name]: e.target.value });
};
createPost = e => {
e.preventDefault();
if (this.state.Body !== '') {
this.props.createPost(this.state);
}
this.setState({ Title: '', Author: '', Body: '', redirect: true });
};
onEnterPress = e => {
if (e.keyCode === 13) {
e.preventDefault();
}
};
render() {
if (this.state.redirect) {
return <Redirect push to='/' />;
}
return (
<div className='createPost'>
<h1>Create Your Post!</h1>
<form onSubmit={this.createPost}>
<label className='input'>
Title:{' '}
<input
type='text'
name='Title'
value={this.state.Title}
onChange={this.updateState}
required
/>
</label>
<label className='input'>
Author:{' '}
<input
type='text'
name='Author'
value={this.state.Author}
onChange={this.updateState}
required
/>
</label>
<textarea
name='Body'
className='body'
value={this.state.Body}
onKeyDown={this.onEnterPress}
onChange={this.updateState}
></textarea>
<input type='submit' value='Submit' className='submitBTN' />
</form>
<Link className='home' to='/'>
Go Home
</Link>
</div>
);
}
}
我试过常规的按下功能,但不起作用
更新1
我让它工作了,但我仍然得到了错误。您需要将onEnterPress移动到表单本身,因为表单也会侦听按键
<form onSubmit={this.createPost} onKeyDown={onEnterPress}>
这是一个。对不起,没用。同样的错误。不管怎样,谢谢你的帮助。那肯定管用,我加了一把小提琴。那一定是出了什么问题。这在我的代码中不起作用。你的小提琴也不管用。我得到了e.keyCode===Enter使其工作,但仍然出现错误。您使用的是什么浏览器我使用的是Edge chromium浏览器