• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:チェックボックスで指定したものをダウンロード)

チェックボックスで指定したものをダウンロードする方法

このQ&Aのポイント
  • JavaScriptの初心者が画像をチェックボックスで選択し、ダウンロードする方法について教えてください。
  • フォトギャラリーのサムネイル画像の下にチェックボックスを配置し、選択された画像のみをダウンロードするウェブページを作成したいです。
  • CGIを使用せずに実現する方法も知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>画像ファイルを一枚一枚zip形式にして なるほど、でしたら以下でいけるかも。 ただ、ブラウザやユーザーの環境によっては誤動作の可能性があるので ユーザーには注意を喚起してください (ユーザビリティのためlabelを設定してありますがなくてもよいです) <script> function download(f){ for(var i=0;i<f.length;i++){ if(f[i].type=="checkbox" && f[i].checked){ var n=window.open(f[i].value); } } } </script> <form> <input type="checkbox" value="1.zip" id="img_1"><label for="img_1"><img src="1.jpg"></label> <input type="checkbox" value="2.zip" id="img_2"><label for="img_2"><img src="2.jpg"></label> <input type="checkbox" value="3.zip" id="img_3"><label for="img_3"><img src="3.jpg"></label> <input type="button" value="download" onclick="download(this.form)"> </form>

kkokuryou
質問者

お礼

使用したいページで問題なく使用できました。そして大変勉強になりました。 もう少し長いプログラムがあって複雑になるのかなと思っていましたが、思っていたよりシンプルで 希望通り動作したので心より感謝しております。 有難うございます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>CGIを使わずにできるか httpヘッダーを利用するのが一番現実的です そうなると非常にCGI(.htaccess含む)などサーバー側の処理がないと 難しいと思った方がよいでしょう。 また複数チェックした時にダウンロードする方法はどうするつもりですか? 複数のダウンロードダイアログを出すのは意外にめんどうです。 アーカイブして1つのファイルで落とす方がよいでしょう。 そうなると組合せの問題がありますのでほぼCGI処理が前提になります。

kkokuryou
質問者

補足

ご回答有難うございます。 実は、CGIが使えないサーバであることとサーバを変えてもCGIの知識が全くないのでできれば、CGIを使わない方法でやりたいと思っています。 複数チェックした時のダウンロードはその都度、ダイアログが表示されても問題ないです。 画像ファイルを一枚一枚zip形式にしてダウンロードできるようにしたいと考えています。 やっぱりCGIでないと無理でしょうか。