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

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

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

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

3547閲覧

POST送信で複数の値を受け取りたい

apa____m

総合スコア3

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2021/06/22 00:31

編集2021/06/22 00:32

POST送信で複数の値を受け取る方法について

お世話になります。
下記のjspのようにfor文の中で複数個表示しているチェックボックスの値を
選択された分だけサーブレットに送信したいのですが、
サーブレット側で見てみると一番最初に選択されたものしか受け取れていません。
このような場合はどうすればいいのでしょうか。
ご教授お願い致します。

jsp

1 2 function delete_btn() { 3 4 const arr = []; 5 const del = document.getElementsByName("del"); 6 7 for (let i = 0; i < del.length; i++) { 8 if (del[i].checked) { 9 arr.push(del[i].value); 10 } 11 } 12 13 if (arr.length == 0) { 14 alert("削除する予約情報を選択してください。"); 15 window.reload(); 16 } 17 18 document.getElementById("span2").textContent = arr; 19 20 var ret = confirm("選択された" + arr.length + "件の予約情報を削除します。\nよろしいでしょうか?"); 21 22 if (ret) { 23 document.deleteForm.submit(); 24 confirm("選択された" + arr.length + "件の予約情報を削除しました。"); 25 26 } else { 27 28 document.getElementById("checkbox").checked = false; 29 30 } 31 32 } 33 34 35 36 37     <input type="button" class="commonbutton_btn" value="削除" onclick="delete_btn()"> 38 39 <form id="delete_form" method="post" name="deleteForm" 40 action="<%=request.getContextPath()%>/VisitorReservation/delete"> 41 42 <% 43 for (Yoyaku yo : YoyakuList) { 44 %> 45 46 <tr> 47 <td><label class="ECM_CheckboxInput"> 48 <input type="checkbox" class="ECM_CheckboxInput-Input" id="de" name="del" 49 value="<%=yoyaku.getRaihouYoyakuId()%>"> 50 <span class="ECM_CheckboxInput-DummyInput"></span><span 51 class="ECM_CheckboxInput-LabelText"></span> 52 </label></td> 53 <% 54 } 55 %> 56 </form>

Java

1 /** 2 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 3 */ 4 protected void doPost(HttpServletRequest request, HttpServletResponse response) 5 throws ServletException, IOException { 6 // TODO Auto-generated method stub 7 // 削除ボタン押下された、ID取得 8 9 RequestDispatcher dispatcher = null; 10 List<Yoyaku> YoyakuList = null; 11 String[] idGet = request.getParameterValues("del"); 12 13 14 for(int i=0; i<idGet.length; i++) { 15 16 try { 17 YoyakuDao.getInstance().DeleteYoyakuData(idGet[i]); 18 }catch (SQLException e) { 19 e.printStackTrace(); 20 throw new ServletException(); 21 } 22 } 23

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

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

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

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

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

guest

回答1

0

ベストアンサー

name="del[]"のように配列として定義する。

あと本件とはずれますが、idが全部id="de"になってます。
重複不可です。
id="de_{index}"のように列番号でもつけて重複避けてください。

投稿2021/06/22 00:45

m.ts10806

総合スコア80875

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問