Javascript 防止对提交表单做出默认反应
我正在react中处理登录表单,在阻止表单的默认行为时遇到问题。 我的代码:Javascript 防止对提交表单做出默认反应,javascript,reactjs,forms,dom-events,react-bootstrap,Javascript,Reactjs,Forms,Dom Events,React Bootstrap,我正在react中处理登录表单,在阻止表单的默认行为时遇到问题。 我的代码: \u提交:函数(e){ 警报(“llego1!”); e、 预防默认值(); 警报(“llego2!”); this.setState({errors:[]}); var email=this.state.emailValue.trim(); var password=this.state.passValue.trim(); 如果(!电子邮件| |!密码){ 返回; } console.log(“onSubmit”);
\u提交:函数(e){
警报(“llego1!”);
e、 预防默认值();
警报(“llego2!”);
this.setState({errors:[]});
var email=this.state.emailValue.trim();
var password=this.state.passValue.trim();
如果(!电子邮件| |!密码){
返回;
}
console.log(“onSubmit”);
SessionActionCreators.login(电子邮件、密码);
},
render:function(){
返回(
);
}
第一个和第二个警报不会触发,这意味着函数可能没有被正确调用,但我在文档中读到支持onSubmit
,我还在表单上使用react引导。表单的默认行为(对服务器的get请求)仍在执行中,任何帮助都会很好
编辑:我正在使用React.createClass
Edit2:尝试使用
登录
,仍然是默认行为。为了回答我自己的问题,代码正常工作,我在工作目录上的另一个文件中修复了一个配置问题。您是否使用es6类
或React.createClass
创建组件?您是否尝试过按钮而不是按钮输入?您的
看起来怎么样?我要试试Button@JanKlimo。ButtonInput是一个react引导组件,您可以在这里检查它:console中有错误吗?
_onSubmit: function(e) {
alert("llego1!");
e.preventDefault();
alert("llego2!");
this.setState({ errors: [] });
var email = this.state.emailValue.trim();
var password = this.state.passValue.trim();
if ( !email || !password) {
return;
}
console.log("onSubmit");
SessionActionCreators.login(email, password);
},
render: function() {
return (
<div>
<form onSubmit={this._onSubmit} style={formStyle}>
<Input type="text" placeholder="Email" value={this.state.emailValue} onChange={this._EmailChange}/>
<Input type="password" placeholder="Password" value={this.state.passValue} onChange={this._PassChange}/>
<ButtonInput type="submit" value="Login" />
</form>
</div>
);
}