繁体   English   中英

使用react和e.preventDefault()阻止表单提交;

[英]Prevent form submission using react and e.preventDefault();

我似乎无法弄清楚...。哪个事件将将函数调用绑定到动作e.preventDefault();是有意义的。 如果有人在填写输入标签时单击回车?

此刻我得到了不必要的刷新。 当我只想按下回车键时触发另一个功能。

我该怎么办?

<form onSubmit={this.stopSubmit}>
                        <FormGroup
                            controlId="formBasicText"
                            validationState={getValidationState()}
                        >
                            <ControlLabel>Stuff</ControlLabel>
                            <FormControl
                                type="text"
                                value={this.state.value}
                                placeholder="Enter text"
                                onChange={handleChange}
                                onKeyUp={handleSubmit.bind(this, "test")}

                            />
                            <FormControl.Feedback/>
                            <HelpBlock>Validation is based on string length.</HelpBlock>
                        </FormGroup>
                    </form>

this.stopSubmit应该返回false以防止表单提交

将此添加到表单标签:

<form onSubmit={e => { e.preventDefault(); }}>

该事件是表单提交。 您可以在Mozilla上阅读它。

确实,这取决于您的表格在做什么。 通常,您会将event.preventDefault()函数调用放在要提交表单的位置。(例如, action参数的值是什么)例如,如果它是AJAX调用,则需要在函数的开头。

至少,那就是我要做的。 这是我用于利用表单提交表单的最新功能的示例。

handleFormSubmit = event => {
  event.preventDefault();
  this.searchMovies(this.state.search);
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM