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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

6833閲覧

formの値をPOST送信した後で、送信エラーかどうかチェックする方法はあるでしょうか?

k499778

総合スコア599

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2016/04/27 00:53

編集2016/04/27 03:23

現在<input type='file'>の値をPOST送信してPHP側に送信する機能を実装しています。

そこでajaxを使ってPOST送信しようと思ったのですが、formDataがブラウザで非対応のものがあるため、断念しました。

他にjqueryを使ってPOST送信して、送信できた後の処理が実装できるイベントはありますでしょうか?ajaxのdoneのような。

現在普通にformタグにmethod=POSTとenctype=multipart/form-data、
そしてjqueryのsubmitイベントで処理する方法を調べています。

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

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

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

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

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

unau

2016/04/27 01:17

「そこでajaxを使ってPOST送信しようと思ったのですが、formDataがブラウザで非対応のものがある」の辺り、詳しく教えていただくのは難しいでしょうか。
rkojima

2016/04/27 03:03

ブラウザ依存の問題の場合は、動作対象のブラウザとバージョンも併記したほうがアイデアが出やすくなると思います。 今回はIE8/9辺りでしょうか?
k499778

2016/04/27 03:24 編集

今回IE9への対応が必要でした。 そのためIE9非対応のformDataを使うことができません。 また画面遷移せずにformの値をPOST送信する必要があるので、ajaxを使いたいです。 しかしajaxで<input type='file'>の値を渡すのに知っていた方法がformDataを使うものでした。(seliarizeや<input type='file'>のvalueを渡す方法、temp_nameが必要なのでthis.files[0]の値を使う方法も使えませんでした。) そこで今回質問したのですが、 submitイベントを使う方法はそもそも画面遷移を避けられないのでダメだとわかりました。 現在検討中なのが iframeを使う方法です。 未検証ですが、この方法できると書いてある記事を見つけたので少しそれで試してみます。 もし他の発想や方法がございましたらどしどし募集中でございます。
guest

回答2

0

ベストアンサー

XMLHttpRequest Level 2

XMLHttpRequest Level 2 は Blob に対応しているようなので File API さえ対応すれば何とかなりそうな気がします。
(IE9- は FormData, Blob, File API をサポートしません)

Polyfill

私自身は使用経験がありませんが、File API の Polyfill がいくつかあるようなので試してみてはいかがでしょうか。

FormData の Polyfill もいくつかあるようです。

Re: k499778 さん

投稿2016/04/27 03:54

think49

総合スコア18162

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

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

k499778

2016/04/27 13:08

回答ありがとうございます。 Polyfillも勉強してみます。
guest

0

「ブラウザからPOSTしたあとの処理をJavaScriptで実装する」ことは、原理的に実現できません

ブラウザからPOSTを行うと、ページ自体が遷移するので、その時点でJavaScriptの処理は終了してしまいます。

投稿2016/04/27 01:49

maisumakun

総合スコア145183

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

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

k499778

2016/04/27 13:07

回答ありがとうございます。 そうですね。自分自身うっかりしていました。 よく考えたらおっしゃるとおりでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問