Enterキーを押したときにフォームを送信したいのですが、私の機能であるonSubmit={() => this.onSearchClick(this)}
を使用すると、フォームをすべて実行する必要があります。私がする必要があるのは、API呼び出しを行う関数を実行させることだけです。ReactJsフォームEnterキーを押して送信
私のコードは、ブラウザとの相互作用からフォームを防ぎ、あなたが内部行うことができます。この
doSearch() {
this.setState({
loading: true,
showCourtesy: false
}, function() {
});
var search_url = "http://10.0.2.31/testwebapi/api/data?"
+ "forename=" + this.state.forename
+ "&surname=" + this.state.surname
+ "&caseid=" + this.state.caseid
+ "&postcode=" + this.state.postcode
+ "&telephone=" + this.state.telephone
+ "&email=" + this.state.email
+ "&title=" + this.state.title
var _this = this;
this.serverRequest =
axios
.get(search_url
)
.then(function (res) {
_this.state.searchResults = res.data;
_this.setState({
loading: false,
})
console.log(res)
})
.catch(function (error) {
console.log(error);
window.alert("Unauthorized To Access This Please Contact IT If You Believe You Should Be")
})
}
サブミットリスナーに 'event.preventDefault()'を入れて、イベントオブジェクトを引数として渡す必要があります。 'onSubmit = {e => {this.onSearchClick(this); e.preventDefault(); }} ' – pawel
@pawel私はそれを入力またはフォームに入れますか? –
@andywilson 'onSubmit'リスナーは' form'に行きます。 – pawel