
formをsubmitすると、チェックボックスの値は、
チェックされた項目のvalue値が配列の形で送信されますよね。
たとえば、
<INPUT TYPE="CHECKBOX" NAME="C_BOX" VALUE="111" CHECKED>
<INPUT TYPE="CHECKBOX" NAME="C_BOX" VALUE="222" CHECKED>
<INPUT TYPE="CHECKBOX" NAME="C_BOX" VALUE="333" CHECKED>
<INPUT TYPE="CHECKBOX" NAME="C_BOX" VALUE="444">
<INPUT TYPE="CHECKBOX" NAME="C_BOX" VALUE="555" CHECKED>
だと、 [111,222,333,555] のように。
今回は、表形式でデータを表示し、
チェックされた行の、他の列の値(フィールド)も取得したいのです。
他の列のフィールドは、チェックされていない行でも入力されている可能性があります。
そうすると、そのフィールドの値も配列にして送ってしまうと、
チェックボックスの値と数が合わなくなり、横方向での関連付けが出来なくなってしまいます。
なので、チェックボックスの送信値を、配列の要素数は全件で、
チェックされたかされていないかということが分かるように
することは不可能でしょうか?
JavaScriptは規約により、使うことが出来ない状況で困っています(><)
何か案があれば教えてください。
No.2ベストアンサー
- 回答日時:
チェックボックスの値をチェック有無にかかわらず全件送ることはHTMLの規約上、不可能ですので、
僕はcheckboxのvalueを行番号にし、
別に以下のようにhidden項目を追加して
<input type="hidden" name="hItemNo" value="101">
こっちに関連付けたい(例えば商品番号とか)を書くようにしました。
hiddenは全件が送られてきますから、全行分の配列が作れます。
checkboxがチェックされていたら、値として行番号が送られてくるので、それでhItemNoを索引して
関連付けたい番号を取得して処理します。
No.1
- 回答日時:
nameの値を全て別にすれば良い
配列では無くなるがどの値がチェックされているか個別に判断できる
例
<INPUT TYPE="CHECKBOX" NAME="C_BOX_1" VALUE="111" CHECKED>
<INPUT TYPE="CHECKBOX" NAME="C_BOX_2" VALUE="222" CHECKED>
<INPUT TYPE="CHECKBOX" NAME="C_BOX_3" VALUE="333" CHECKED>
<INPUT TYPE="CHECKBOX" NAME="C_BOX_4" VALUE="444">
<INPUT TYPE="CHECKBOX" NAME="C_BOX_5" VALUE="555" CHECKED>
それでもパラメータの数が増えるだけで、
チェックされなかった情報が取れないですよね?
パラメータの数も増えすぎで困っているので、
ここは配列のままでいくことにします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
Excel オートフィルタのリスト...
-
5
Excelのオートフィルタで抽出し...
-
6
VBA 配列に格納した値の平均の...
-
7
Excelのセルの色指定をVBAから...
-
8
ExcelのINDEXとMATCH関数でスピ...
-
9
スプレットシートのGetTextにつ...
-
10
【VBA】ユーザーフォーム リス...
-
11
配列がとびとびである場合の書き方
-
12
Dictionaryを使い4つの条件の一...
-
13
.NET - 配列変数を省略可能の引...
-
14
DataSetから、DataTableを取得...
-
15
ヤフーファイナンス 株価時系...
-
16
SUMPRODUCT関数を用いた最小値
-
17
VBAでの100万行以上のデータの...
-
18
iniファイルのキーと値を取得す...
-
19
配列のSession格納、及び取得方...
-
20
最小値を求める方法
おすすめ情報
公式facebook
公式twitter