jspで、テーブルの中に用意したチェックボックスのvalueを別のプログラム(select_data_c)へ渡したいのですが、うまくいきません。alertを使って確認してみたところ、undefinedが表示されました。
また、受け側のプログラムには特に問題は無いようでした。
以下がソースの一部です。かなりの長文で申し訳ございませんが、ご教授よろしくお願いします。
<%!
//コード
String code_Act_App = "2"; ←アプリ実行の記述です。出力ボタンを押したらcsvを作成
%>
<html>
<head>
<title>データ取得条件選択</title>
<script type="text/javascript">
function entryChange2(){
if(document.getElementById('changeSelect')){
id = document.getElementById('changeSelect').value;
if(id == 'select1'){
//フォーム
document.getElementById('firstBox2').style.display = "";
document.getElementById('firstBox22').style.display = "";
document.getElementById('secondBox2').style.display = "none";
document.getElementById('secondBox22').style.display = "none";
}else if(id == 'select2'){
//フォーム
document.getElementById('firstBox2').style.display = "none";
document.getElementById('firstBox22').style.display = "none";
document.getElementById('secondBox2').style.display = "";
document.getElementById('secondBox22').style.display = "";
}}}
//オンロードさせ、リロード時に選択を保持
window.onload = entryChange2;
function output(){
//変数に代入
var d = document.chkList.chk.value;
alert(d); ←ここでundefinedが表示されてしまいます
checkvalue = '';
//チェックボックスがONの時はその値を設定する
if (document.chkList.chk.checked == true) {
document.C_FUNC.chk.value = document.chkList.chk.value ;
}}
</script>
</head>
<body>
<div align="center">
<h1>データ取得条件選択</h1>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<th>対象マスター</th>
<td>
<select id="changeSelect" name="hoge" onchange="entryChange2();">
<option value="select1">マスタ選択</option>
<option value="select2">社員マスター</option>
</select>
</td>
</tr>
</table>
<!-- 表示非表示切り替え --> ↓2つのテーブルを横に並べて表示させています
<table><tr><td>
<table id="firstBox2">
<tr>
<th>マスター項目一覧</th>
<td><div style="height:200px; width:300px; border :1px solid #000000; overflow-x:scroll;overflow-y:scroll">
対象マスターを選択し、<br>
表示ボタンを押してください</div></td></tr>
</table>
</td><td valign="top">
<table id="firstBox22">
<tr>
<th>関連テーブル項目一覧</th>
<td valign="top"><div style="height:200px; width:300px; border :1px solid #000000; overflow-x:scroll;overflow-y:scroll">
対象マスターを選択し、<br>
表示ボタンを押してください</div></td></tr>
</table>
</td></tr></table>
<!-- 表示非表示切り替え -->
<table><tr><td>
<table id="secondBox2">
<tr>
<th>マスター項目一覧</th>
<td><form name="chkList" method="POST" >
<div style="height:200px; width:300px; border :1px solid #000000; overflow-x:scroll;overflow-y:scroll">
<input type="checkbox" name="chk" value="会社コード">会社コード<br>
<input type="checkbox" name="chk" value="社員番号">社員番号<br>
<input type="checkbox" name="chk" value="削除フラグ">削除フラグ<br></div></form>
</td></tr></table>
</td><td valign="top">
<table id="secondBox22">
<tr>
<th>関連テーブル項目一覧</th>
<td><form name="chkList" method="POST" >
<div style="height:200px; width:300px; border :1px solid #000000; overflow-x:scroll;overflow-y:scroll">
ここにもマスター項目一覧と同様にチェックボックスを置いています。項目数が多いのでスクロールバーを付けています。
</div></form></td>
</tr>
</table>
</td></tr></table>
<form action = "select_data_c" name="C_FUNC" method="POST">
<input type = hidden name = "chk" value ="d">
<input type = hidden name = "C_FUNC" value = "<%= code_Act_App %>">
<input type="submit" name = "OutPut" value="上記の条件で出力" onClick="output()">
</form>
</div>
</body>
</html>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
あまりきちんと見れていないのですが・・・
>document.chkList.chk
各チェックボックスのnameが同一なので、上記の戻り値はチェックボックスの配列になっています。
ですので、document.chkList.chk[0].value(checked) 等としなければいけません。
また、チェックボックスは3つありますが、C_FUNCフォームには値の設定先が1つしかありません。
そこは大丈夫なのでしょうか。
お礼が遅くなってしまい申し訳ありません、回答ありがとうございます。
> document.chkList.chk[0].value(checked) 等としなければいけません。
配列の形で記述する、という事でしょうか。本を買って調べてみて、以下の様に書き換えてみました
function output(){
var result = [] ;
//変数に代入
var d = document.chkList.chk;
for(var i = 0; i < d.length; i++){
if(d[i].checked){
result.push(d[i].value);
}}
alert(result.toString()); ←チェックを付けた項目が表示されていました
return false;
}
> C_FUNCフォームには値の設定先が1つしかありません
チェックが複数付く場合、値の設定先も複数持たせるのでしょうか?scriptを書き換えた際に受け側のプログラムも配列で取得するようにしました。
String[] chkbox = request.getParameterValues("chk");
csvを出力させると、
<input type = hidden name = "chk" value ="d">
のvalueに書いた"d"が送られていました。
何がいけないんだろう・・・完全に知識不足ですね
JavaScriptとサーブレットの本を購入したので、よく調べてみます。回答して頂き、本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
チェックボックス付きのテーブルから、チェックの付いた行のみの値を取得したい
JavaScript
-
jsp~jspにhiddenを使って変数を飛ばしたい
JavaScript
-
JSPでのリストボックス表示
Java
-
-
4
チェックボックスのON/OFFでValueの値を変える方法が分かりません。
JavaScript
-
5
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
6
JSPやサーブレットでSystem.out.println()などでコンソールに出力できますでしょうか?
Java
-
7
htmlの文字が縦書きになる
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字数を数える際に空白、改行...
-
チェックボックスのチェック処理
-
チェックボックス付きのテーブ...
-
document.getElementByIdがIE8...
-
ラジオボタンが選択されたらテ...
-
return trueとreturn falseの用...
-
プルダウン選択を変更すると、...
-
slickのレスポンシブ > center...
-
FormのonsubmitでJavaスクリプ...
-
onchangeイベントを強制的に発...
-
submitがおされた同時に JavaSc...
-
select要素のvalueを配列で取得...
-
Selectボックスの幅を自動で広...
-
HTMLファイル同士での値渡し
-
ラジオボタンの値でリンク先を...
-
ラジオボタンとプルダウンを連...
-
Selectの中身をfor文で入れる
-
JQuery selectが反映されない
-
onClickとsubmitの処理順序
-
確認ページからフォームページ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックス付きのテーブ...
-
複数のselect値で1つも選択され...
-
画面表示とともにtableの指定の...
-
localStorageでのcheckbox制御
-
文字数を数える際に空白、改行...
-
JavaScriptの「.querySelectorA...
-
Javascriptの電卓で最初の何も...
-
formで項目を連結したい
-
ラジオボタンが選択されたらテ...
-
javascriptで表(テーブル)の自...
-
横へスクロール
-
テーブル内のチェックボックス...
-
history.backの前に値をクリア...
-
java scriptで問題集を作りたい...
-
送信ボタン連打を抑止したいです
-
Java Scriptで・・・
-
フォームタグの中のラジオボタ...
-
【緊急】リアルタイムでエラー...
-
jQuery テキストボックス読み取...
-
JavaScriptを使って九九の表を...
おすすめ情報