- ベストアンサー
PHP+javascriptを使用してのフォーム
はじめましてよろしくお願いいたします。 質問は名のですが、以下のような入力項目でフォームを作っています。 <select name="file1_kind"> <option>画像グループ1</option> <option>画像グループ2</option> <option>画像グループ3</option> </select> <input type="text" name="file1_name"> <input type="file" name="file1"> <select name="file2_kind"> <option>画像グループ1</option> <option>画像グループ2</option> <option>画像グループ3</option> </select> <input type="text" name="file2_name"> <input type="file" name="file2"> <input type="submit" value="画像確認"> <input type="submit" value="確認画面へ"> という感じでフォームを作っています。 そしてやりたい事が、画像確認ボタンを押すと画面遷移せずに 登録しようとする画像を先に同じ画面に表示し、表示した画像でよければ確認画面に遷移するという形にしたいと思っています。 分からない部分としましては、先に画像をアップロードしたときに、テキストの内容やプルダウンで選んだ内容が消えずにそのまま維持したまま、アップロードボタンで画像の選択しなおしや、アップロードが出来、そしてよければ確認画面に遷移するという部分です。 長文で申し訳ございません。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
これはiframeを使用したらできます。 参考URLを参考にしてください。 ポイントは、<form>のtarget属性です。 postしたら画面遷移することなく、結果がiframeの中に 表示されます。 そして、iframeの中から、呼び出し元の画面をjavascriptで いかようにも操作できます。 window.parent.*** の部分がそうです。 taaboooさんの場合、iframe内にアップロードした画像を 表示するようにしてやったらよいかと思います。
その他の回答 (1)
- nia_ddd
- ベストアンサー率50% (1/2)
単純に画像の確認画面で戻ったあとにフォームの内容を戻したいのであればセッションを使えば可能です。 セッションを開始して、PHP側の処理に入るときに$_POSTの内容を保存してやり、HTML側のinputなどのvalueに value="<?php echo isset($_SESSION['name']) ? $_SESSION['name'] : ''; ?>" としてやればセッションにフォームで入力されたデータが入っている場合のみvalueにデータを挿入してくれます。 また蛇足ですが、現在の画面を維持して操作をさせたいのならばAjaxを使うと良いかもしれません。 prototype.jsのAjax.RequestやAjax.UpdaterなんかとCSSを上手に使えれば良いかもしれません。
お礼
ご回答ありがとうございます。 今回は下のご意見を参考にさせていただきました。 でもご丁寧に教えていただきありがとうございました。
補足
ご回答ありがとうございます! 完璧に出来ました! 本当にありがとうございました。