Top >
JavaScript > JavaScriptのFormDataの使い方
JavaScriptのFormDataの使い方
JavaScriptのFormDataの使い方についてまとめました。
1.ブラウザがFormDataオブジェクトに対応するか確認する
ブラウザがFormDataオブジェクトに対応するか確認するには、window.FormDataで判定します。
if( window.FormData ){
alert("対応しています");
} else {
alert("対応していません");
}
2.FormDataオブジェクトを作成する
FormDataオブジェクトを作成するにはnew()を利用します。
var fd = new FormData();
3.フォームデータを取得する
new()と同時にフォームデータを取得することもできます。
次のHTMLを想定します。
<form id="foo" name="foo">
…中略…
</form>
この場合、次のようにオブジェクト作成します。
var fd = new FormData($('#foo').get(0));
または、
var fd = new FormData(document.getElementById("foo"));
または、
var fd = new FormData(document.forms.namedItem("foo"));
これでFormDataオブジェクトに、指定したform要素内のフォームデータが取得できます。
4.FormDataオブジェクトにパラメータを追加する
FormDataにパラメータを追加するには、append()を用います。
numberというパラメータに「123456」という数値を追加する場合は次のようにします。
fd.append("number", 123456);
charというパラメータに「abc」という文字列を追加する場合は次のようにします。
fd.append("char", "abc");
5.FormDataオブジェクトにファイルを直接追加する
FormDataオブジェクトにファイルを追加する場合もappend()を用います。
HTMLが
<form ... >
<input id="foo" name="hoge" type="file" />
</form>
となっている場合、
fd.append('hoge', $('input[type=file]')[0].files[0]);
とします。
6.FormDataオブジェクトを送信する
jQueryでFormDataオブジェクトを送信するには次のようにします。
$.ajax({
url: "test.cgi",
type: "POST",
data: fd,
})
.done(function( data ) {
// 略
});
ファイルを送信する場合は「jQuery.ajax()でファイルをアップロードする方法」で紹介したとおり、processDataとcontentTypeを追加してください。
その他、Blobオブジェクトを送信する方法もあるようですが、ここでは割愛します。
7.参考サイト
参考サイトは下記です。ありがとうございました。
Posted by yujiro このページの先頭に戻る
- 複数のsubmitボタンをonsubmitで判定する方法
- JavaScriptの時間を0パディングする方法
- JavaScriptでJSONデータを作る方法
- JavaScriptやjQueryで設定されたイベントの定義場所を調べる方法
- javascript:void(0)のまとめ
- setTimeout()やsetInterval()で引数を渡す方法
- JavaScriptメールアドレスチェッカー
- PCのブラウザでiPhoneやAndroidのようなパスワードフォームを実現するJavaScriptライブラリ「FormTools」
- JavaScriptでフォーカスのあたっている要素を取得する「document.activeElement」
- 入力フォームの全角・半角を勝手に変換してくれるJavaScript
- JavaScriptエラーを表示・確認する方法のまとめ
- ソーシャルボタンのJavaScriptでfunctionの前に「!」がついている理由
- JavaScriptでCSSの擬似クラスを設定する方法
- JavaScriptの正規表現で文字列を抜き出す「グループ化」
- JavaScriptにおける引数や配列の要素数の制限について
トラックバックURL
コメントする
greeting