ajaxで送信する場合、なぜformタグを使うのですか?
質問
哲学的な質問です。
例えば、次のようなWebアプリがあるとします。 が必要です。 javascript とモダンなブラウザが必要な Web アプリがあり、プログレッシブ エンハンスメントは問題ではありません。フォームを javascript で作成し、データの更新をすべて ajax の POST および PUT で行う場合、コントロールをフォーム タグでラップする理由は本当にあるのでしょうか? セマンティックな理由や構造的な理由でタグを使用するのであれば、アクションやメソッドのパラメータを無視する理由はあるのでしょうか? 私には、以前の時代から残っているように感じられます。
どのように解決するのですか?
フォームタグの中で入力をラップすることによって、特に提供される重要なユーザーエクスペリエンス機能が少なくとも1つ存在します。
Enterキーはフォームを送信します。 実は、モバイルSafariでは、このように "Go"と表示されます。 ボタン をキーボードに表示させる .
入力をラップするフォームがなければ、送信するものは何もありません。
もちろん、キー押下イベントを通してエンターキーの動作を提供することはできますが、これがモバイルデバイスのために機能するかどうかについてはわかりません。 あなたのことはよく知りませんが、私は、イベントによってセマンティクスを模倣するよりも、ブラウザによって提供されるセマンティクスで作業したいです。
あなたの場合、単に
onsubmit
イベントハンドラで AJAX 送信を行い、次に
return false
を実行し、実際の送信をキャンセルします。
単に
action=""
(これは "self" を意味します)、そして
method
は必須ではなく、デフォルトで
GET
.
関連
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] JavaScriptで二重引用符と単一引用符はいつ使うべきですか?
-
[解決済み] varキーワードの目的と、どのような場合に使用する(または省略する)べきですか?
-
[解決済み] encodeURI / encodeURIComponentの代わりにescapeを使用するのはどのような場合ですか?
-
[解決済み] jQuery AJAX送信フォーム
-
[解決済み] scriptタグの中にCDATAセクションが必要なのはどんな場合ですか?
-
[解決済み] ユーザーがEnterキーを押してフォームを送信できないようにする
-
[解決済み] HTMLフォームのSELECTタグ/入力の読み取り専用化
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] javascriptで2つの数値を連結する方法は?
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
-
[解決済み] これは純関数ですか?
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?