質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

1回答

151閲覧

reactで対象のformをボタンではなくjsでsubmitしたい

nominsasabuchi

総合スコア2

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2024/03/15 02:06

実現したいこと

対応したいことはreact環境でformをbuttonのデフォルトのsubmitではなく、jsでsubmitさせたいです

発生している問題・分からないこと

idやrefを使用してsubmitさせようとしましたが、どうもうまく動作せず、、
知見がある方にご教授いただきたいです

該当のソースコード

TypeScript

1 2```ts 3import { useRef } from "react"; 4import "./styles.css"; 5 6export default function App() { 7 const formRef = useRef<HTMLFormElement>(null); 8 return ( 9 <div className="App"> 10 <form 11 id="test" 12 ref={formRef} 13 onSubmit={() => { 14 console.log("test"); 15 }} 16 > 17 ...etc 18 </form> 19 <button 20 onClick={() => 21   //パターン1 22 (document.getElementById("test") as HTMLFormElement)?.submit() 23 //パターン2 24 //formRef.current?.submit() 25 } 26 > 27 submit2 28 </button> 29 </div> 30 ); 31} 32
### 試したこと・調べたこと - [ ] teratailやGoogle等で検索した - [x] ソースコードを自分なりに変更した - [ ] 知人に聞いた - [ ] その他 ##### 上記の詳細・結果 docmentを見つつ自分なりに試した ### 補足 特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2024/03/15 11:29

> react環境でformをbuttonのデフォルトのsubmitではなく、jsでsubmitさせたいです どのような目的でそれを行いたいのですか?
FKM

2024/04/03 00:27

機能を分岐したい目的なのならuseReducerフックでいけますね。
guest

回答1

0

やりたいことは察しかねますが、「ボタンAを押したときとボタンBを押したときで処理を分岐したい」だけであれば、

  • onSubmit のイベントハンドラ内で submitter プロパティを使う
  • <button name="" value="" /> を使う

という選択肢がありそうです。

https://developer.mozilla.org/ja/docs/Web/API/SubmitEvent/submitter

投稿2024/03/17 11:28

編集2024/03/17 12:09
honey32

総合スコア169

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問