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

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

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

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

jQuery

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

Q&A

解決済

1回答

1927閲覧

Jquery で画像のアップロードフォームを追加する機能を作成していますが機能しません

hidepon

総合スコア206

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2017/06/25 13:48

編集2017/06/25 14:10

画像のアップロードフォームをjQueryで追加しようとしています。
初期状態は2枚分を用意して「追加する」ボタンを押すとフォームが追加される仕様です。

<table class="table" id="tbl_image"> <tbody> <tr> <th>画像1</th> <td><input type="file" name="images1" multiple="multiple" id="image1" /><img src="/images/noimage.gif" id="prev_img1" class="img-responsive" /></td><td><input type="text" name="caption[]" placeholder="画像の説明" /></td> </tr> <tr> <th>画像2</th> <td><input type="file" name="images2" multiple="multiple" id="image2" /><img src="/images/noimage.gif" id="prev_img2" class="img-responsive" /></td><td><input type="text" name="caption[]" placeholder="画像の説明" /></td> </tr> </tbody> </table> </div> <p><input type="button" id="add_image_table_insert" value="追加する" />&nbsp;<input type="button" id="del_image_table_insert" value="削除する" /></p>

これに対して、

$('#add_image_table_insert').click(function(){ var len = $("#tbl_image tbody").children().length; if(len>8){ $("#add_image_table_insert").attr("disabled","disabed"); } data = '<tr><th>画像' + (len+1) + '</th><td><input type="file" name="images' + (len+1) + '" id="image' + (len+1) + '" /><img src="/images/noimage.gif" id="prev_img' + (len+1) + '" class="img-responsive" /><script>$("#image' + (len+1) + '").upimageview("#prev_img' + (len+1) + '");</script></td><td><input type="text" name="caption[]" placeholder="画像の説明" /></td></tr>'; $('#tbl_image').append(data); });

これをPOSTした際に

echo "<pre>" print_r($_FILES); echo "</pre>"

で追加された分が表示されません。
image2までしかPOSTされたこになっていません。
原因が分からず困っています。

詳しい方にご教授いただければ幸いです。
宜しくお願いいたします。

(追記)Jqueryのコードに画像プレビューに関する内容が含まれています。

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

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

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

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

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

m.ts10806

2017/06/26 01:46

POST送信していると思うので<form>も含めたHTMLと確認したブラウザも追記してください。
m.ts10806

2017/06/26 01:47

ご提示ソースではJavascriptでシンタックスエラーが起きているようですが、そちらは問題ないですか?
miyabi-sun

2017/06/26 03:45

inputがmultiple="multiple"となってるのは何故?複数ファイル選択した時にプレビュー機能が対応出来ないと思うよ
guest

回答1

0

ベストアンサー

検証してみましたが、追加したelementはPOSTされています。

しかし、<input type="file" multiple="multiple">nameimage1などの単数になっています。
<input type="file" name="image[]" multiple="multiple">とすると受け取れると思います。

投稿2017/06/26 03:13

shi_ue

総合スコア4437

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問