Setting onSubmit in React.js

后端 未结 4 2012
[愿得一人]
[愿得一人] 2020-12-23 15:35

On submission of a form, I\'m trying to doSomething() instead of the default post behaviour.

Apparently in React, onSubmit is a supported event for for

相关标签:
4条回答
  • 2020-12-23 16:07

    I'd also suggest moving the event handler outside render.

    var OnSubmitTest = React.createClass({
    
      submit: function(e){
        e.preventDefault();
        alert('it works!');
      }
    
      render: function() {
        return (
          <form onSubmit={this.submit}>
            <button>Click me</button>
          </form>
        );
      }
    });
    
    0 讨论(0)
  • 2020-12-23 16:13
    <form onSubmit={(e) => {this.doSomething(); e.preventDefault();}}></form>
    

    it work fine for me

    0 讨论(0)
  • 2020-12-23 16:16

    In your doSomething() function, pass in the event e and use e.preventDefault().

    doSomething = function (e) {
        alert('it works!');
        e.preventDefault();
    }
    
    0 讨论(0)
  • 2020-12-23 16:17

    You can pass the event as argument to the function and then prevent the default behaviour.

    var OnSubmitTest = React.createClass({
            render: function() {
            doSomething = function(event){
               event.preventDefault();
               alert('it works!');
            }
    
            return <form onSubmit={this.doSomething}>
            <button>Click me</button>
            </form>;
        }
    });
    
    0 讨论(0)
提交回复
热议问题