2017-09-22 10 views
0

私はこれを理解していないようです.... どのイベントが、関数呼び出しをバインドするのが理にかなっています。e.preventDefault();誰かが入力タグを入力するときに入力をクリックした場合は?reactとe.preventDefault()を使用してフォームの送信を防止します。

現時点では、望ましくないリフレッシュが発生します。 Enterキーが押されたときに別の機能をトリガーしたいとき。

どうすればよいですか?

<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> 

答えて

2

this.stopSubmitフォーム送信

0

は、formタグにこれを追加防ぐためにfalseを返す必要があります:

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

コード専用の回答は、質問の問題の解決方法を説明していないため、お勧めできません。あなたの答えを更新して、これが何をしているのか、それがどのように問題を解決するのかを説明し、他のユーザーに役立つかもしれないことを考えてください[よくある回答を書くにはどうすればいいですか](https://stackoverflow.com/help/how-to-answer) – FluffyKitten

0

イベントは、フォームの送信です。あなたはMozillaでそれを読むことができます。

本当にフォームの処理内容によって異なります。通常、フォームを送信しているものにevent.preventDefault()関数呼び出しを入れます(つまり、actionパラメータの値は何ですか)。たとえば、AJAX呼び出しの場合は、関数。

少なくとも、私がしていること。ここでは、それを利用するフォーム提出に最近使用した関数の例を示します。

handleFormSubmit = event => { 
    event.preventDefault(); 
    this.searchMovies(this.state.search); 
}; 
関連する問題