1. ホーム
  2. javascript

[解決済み] React - フォームの送信を防止する

2023-02-05 21:37:30

質問

Reactの実験をしています。私の実験では、私は Reactstrapフレームワーク .ボタンをクリックすると、HTMLフォームが送信されることに気づきました。ボタンがクリックされたときに、フォームの送信を防ぐ方法はありますか?

私の問題を再現してみました はこちら . 私のフォームはかなり基本的なもので、以下のようなものです。

<Form>
  <h3>Buttons</h3> 
  <p>
    <Button color="primary" onClick={this.onTestClick}>primary</Button>&nbsp;
  </p>
</Form>

何が足りないのでしょうか?

どのように解決するのですか?

まず注目すべきは、javascriptなし(プレーンhtml)では form 要素のいずれかをクリックすると <input type="submit" value="submit form"> または <button>submits form too</button> . javascript では、イベントハンドラを使用することでこれを防ぐことができます。 e.preventDefault() を呼び出すことで防ぐことができます。 e はイベントハンドラに渡されるイベントオブジェクトです。react では、関連する 2 つのイベントハンドラは、フォームを経由して onSubmit として、もうひとつはボタン上で onClick .

http://jsbin.com/vowuley/edit?html,js,console,output