首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在React.js中设置onSubmit

在React.js中设置onSubmit
EN

Stack Overflow用户
提问于 2015-02-12 21:53:58
回答 4查看 168.1K关注 0票数 102

在提交表单时,我尝试使用doSomething()而不是默认的post行为。

显然是在React中,但是,当我尝试以下代码时,onSubmit is a supported event for forms.

代码语言:javascript
复制
var OnSubmitTest = React.createClass({
    render: function() {
        doSomething = function(){
           alert('it works!');
        }

        return <form onSubmit={doSomething}>
        <button>Click me</button>
        </form>;
    }
});

运行doSomething()方法,但此后仍会执行默认的post行为。

您可以在我的jsfiddle中进行测试。

我的问题是:如何防止默认的post行为?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-02-12 22:03:18

在您的doSomething()函数中,传入事件e并使用e.preventDefault()

代码语言:javascript
复制
doSomething = function (e) {
    alert('it works!');
    e.preventDefault();
}
票数 127
EN

Stack Overflow用户

发布于 2015-02-12 23:04:09

我还建议将事件处理程序移到render之外。

代码语言:javascript
复制
var OnSubmitTest = React.createClass({

  submit: function(e){
    e.preventDefault();
    alert('it works!');
  }

  render: function() {
    return (
      <form onSubmit={this.submit}>
        <button>Click me</button>
      </form>
    );
  }
});
票数 51
EN

Stack Overflow用户

发布于 2017-06-01 17:55:41

代码语言:javascript
复制
<form onSubmit={(e) => {this.doSomething(); e.preventDefault();}}></form>

它对我来说很好

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28479239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档