- ベストアンサー
チェックボックスで指定したものをダウンロードする方法
- JavaScriptの初心者が画像をチェックボックスで選択し、ダウンロードする方法について教えてください。
- フォトギャラリーのサムネイル画像の下にチェックボックスを配置し、選択された画像のみをダウンロードするウェブページを作成したいです。
- CGIを使用せずに実現する方法も知りたいです。
- みんなの回答 (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>
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
>CGIを使わずにできるか httpヘッダーを利用するのが一番現実的です そうなると非常にCGI(.htaccess含む)などサーバー側の処理がないと 難しいと思った方がよいでしょう。 また複数チェックした時にダウンロードする方法はどうするつもりですか? 複数のダウンロードダイアログを出すのは意外にめんどうです。 アーカイブして1つのファイルで落とす方がよいでしょう。 そうなると組合せの問題がありますのでほぼCGI処理が前提になります。
補足
ご回答有難うございます。 実は、CGIが使えないサーバであることとサーバを変えてもCGIの知識が全くないのでできれば、CGIを使わない方法でやりたいと思っています。 複数チェックした時のダウンロードはその都度、ダイアログが表示されても問題ないです。 画像ファイルを一枚一枚zip形式にしてダウンロードできるようにしたいと考えています。 やっぱりCGIでないと無理でしょうか。
お礼
使用したいページで問題なく使用できました。そして大変勉強になりました。 もう少し長いプログラムがあって複雑になるのかなと思っていましたが、思っていたよりシンプルで 希望通り動作したので心より感謝しております。 有難うございます。