JSP+Servlet+Beanで作ってます。
JBuilder5を使ってます。

JSPはラジオボタン、テキスト、ボタン等があります。
<INPUT TYPE = "radio" NAME = "r1" VALUE = "ins">A
<INPUT TYPE = "radio" NAME = "r1" VALUE = "upd">B
<INPUT TYPE = "radio" NAME = "r1" VALUE = "del">C

としています。
たとえば、Bを選択時、ボタンクリックで
Servletにリクエストを送信しますが、
Servletから再びJSPを呼び出し、画面を
表示するとき、ラジオボタンはBを選択
させたいのですが、どうしたらいいですか?
FormタグのCHECKEDというオプションを
どのように使えばいいのか教えていただきたいのですが。


テキストには、Beanでsetメソッド、
JSPでは、<jsp:getProperty・・・>を使って
セットできているんですが、ラジオボタンも
同様ですか?
@@@・・・JSPのタグを勉強しないといけないです。
@@@勉強不足です。

A 回答 (4件)

<% %>のなかに


<jsp:getProperty name="wk" property="aaa" />
のようなJSPタグを使用することはできません。
これはエラーになります。

wkがBeanのインスタンス名、aaaがプロパティ名なので
<% if(wk.getAaa()==1){ out.print("checked");} %>

でよいと思いますが・・・

この回答への補足

何度も何度も申し訳ありませんでした。。


結果、できました!!!!

本当に今日はいっぱい質問してしまって
申し訳ありませんでした。。。

超がつく初心者なのでもっと勉強しなければ
と改めて思います。

kuro_73さん、本当に本当にありがとうございました。



##最初からこういうコーディングにしてて
エラーがでてます、と具体的に
書いておけばよかったです。
すみません。。。

補足日時:2001/08/15 17:47
    • good
    • 1

すごく基本的なことですが、以前同様な経験をして「あっ!」と思ったことがあったので、一応確認させてください。



なんらかのスクリプトエラーでこのように、全てにcheckedがついていませんか?
<INPUT TYPE="radio" NAME="FLG1" VALUE="A" checked>A
<INPUT TYPE="radio" NAME="FLG1" VALUE="B" checked>B
こうすると、一番最後のradioのチェックが有効になりますが・・・

この回答への補足

すみません。
3番目にCHECKEDがあるというのは、
みてみると、タグの間違いでした。

しかし、結局、エラーになってしまいます。

<INPUT name="r1" type=radio value=1
<% if(<jsp:getProperty name="wk" property="aaa" /> ==1){ out.print("checked");} %> > A

というかんじにしたいんですが、
コーディング途中でJBuilderのエラーチェックに
かかります。
タグの書き方がおかしいんでしょうね。。

補足日時:2001/08/15 17:00
    • good
    • 0

<INPUT name="r1" type=radio value=1 <% if(aaa=="1"){ %> checked <% } %> >



のように表示したければ、まず

<INPUT name="r1" type=radio value=1 <% if(aaa.equals("1")){ out.print("checked") } %> >

このように書き直す必要があります。

aaaの値を<jsp:getProperty・・・>って、ようはBeanから持ってきた値をaaaに代入したいという意味ですよね?
kanayuさんのやり方で多分大丈夫だと思いますが。。。

あまりjsp1.0は使用したことがなくてよく分からないんです。
JSPタグもホンの基本しか使わず、Beanを使うときは、sessionにBeanを付加して、
<% %>の中でsessionからsession.getValue()しているので・・
No.1で回答したやり方で、Beanもsessionにくっつけられるので、
もし、kanayaさんのやり方で上手くいかなければ、これも試してみてください。

この回答への補足

有り難うございます。

>aaaの値を<jsp:getProperty・・・>って、
>ようはBeanから持ってきた値をaaaに代入したいという意
>味ですよね?
>kanayuさんのやり方で多分大丈夫だと思いますが。。。

やってみたんですが、結局3つめのラジオボタンに
ずっとチェックがある状態でした。
(3つめのボタンにCHECKEDをつけているような状態でした。)

それで、kuro_73さんが書かれたNo1のコードを
試してみたのですが、
いくつかでエラーとなってしまいました。

session.putValue("checkA" ,"checked");
のputValueで警告がでました。
String checkA = (String)session.getValue("checkA");
のgetValueで警告がでました。
それぞれ、setAttribute,getAttributeにおきかえて
実行してみましたが、Error500がでてきました。

うーん。なんかいい方法はないですかねえ。。。
もう少し調べてみます。

補足日時:2001/08/15 16:10
    • good
    • 0

あなたの文章が良く理解できないのですが、


つまりこう言うことをやりたいのですか?

****Servlet****
doGet(HttpServletRequest req, HttpServletResponse res){
//処理
HttpSession = session
//セッションを取得・・trueだったら新規セッションを作る
session = req.getSession(false);
String aaa = req.getParameterValues("r1");

//セッションに値をput
if(aaa.equals("ins")){
session.putValue("checkA" ,"checked");
session.putValue("checkB" ,"");
session.putValue("checkC" ,"");
}else if(aaa.equals("upd")){
session.putValue("checkA" ,"");
session.putValue("checkB" ,"checked");
session.putValue("checkC" ,"");
}else if(aaa.equals("del")){
session.putValue("checkA" ,"");
session.putValue("checkB" ,"");
session.putValue("checkC" ,"checke");
}
//JSPを表示
}

****JSP****
<%
HttpSession session = request.getSession(true);
<%
HttpSession session = request.getSession(false);
String checkA = (String)session.getValue("checkA");
String checkB = (String)session.getValue("checkB");
String checkC = (String)session.getValue("checkC");
%>

<INPUT TYPE = "radio" NAME = "r1" VALUE = "ins" <%=checkA>>A
<INPUT TYPE = "radio" NAME = "r1" VALUE = "upd" <%=checkB>>B
<INPUT TYPE = "radio" NAME = "r1" VALUE = "del" <%=checkC>>C

この回答への補足

分かり難い質問、文章、申し訳ありません。
また、答えてくださって有り難うございます。

やりたかったのは、JSPのなかで
IF文を用いて、GetPropertyした値を
判断し、CHECKEDがつけれるか、といったことです。

<INPUT name="r1" type=radio value=1 <% if(aaa=="1"){ %> checked <% } %> >

こういうタグの使い方をしようと
試みたんですがうまくいかないのです。

というのは、
<% if(aaa=="1"){ ・・・・

のaaaにあたる値を
<jsp:getProperty name="wk" property="syori_no" />
でとってきた値にしたいのです。

テキストでは、このgetPropertyって
よく使いますよね。だから、ラジオボタンでもつかえない
かなとおもいまして。。。
こういう使い方はしないのでしょうか??

補足日時:2001/08/15 14:48
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QXwindow osf/motifのラジオボタンの作成できない!!!!

Xwindow osf/motifのラジオボタンの作成できない!!!!!!!

X-Window OSF/Motifプログラミング
兜木昭男/木下凌一/栄谷政己/林秀幸/安川悦子,日刊工業新聞社

上の本をみながら画面を作っています。

ラベルボタンなら  XmCreateLabele
アローボタンなら  XmCreateArrowButton
プッシュボタンなら XmCreatePushButton

で作れるんですけどラジオボタンは本に載ってないんです。
ネットで探してもなかなか見当たらなくて困ってます。

motifの知識がなくてどう質問したらいいのかわかりません。

わかる範囲で結構です。教えていただいたら幸いです!!!

Aベストアンサー

http://www.ist.co.uk/motif/books/vol6A/ch-12.fm.html
Motif Programing Manual

Example 12-6 The radio.c program

Q

<input type="hidden" name = "hoge">があったとします。
これを、javascriptを使用し nameで検索します。
”hoge”を検索後、その”hoge”という名前を変更する方法を探しています。 

<input type="hidden" name = "hoge">
       ↓↓↓↓↓
<input type="hidden" name = "fuga"> 

リフレッシュ無しで、上記のようにnameを変える方法が知りたいです。

ご存知の方おりましたら、お手数ですが教えていただけませんでしょうか。
宜しくお願いいたします。

Aベストアンサー

タグが特定出来れば、setAttribute等で属性値を変更出来ます。
setAttribute("name","fuga")

QHP作成:ラジオボタンの表示について

こんにちはっ
携帯サイト用のサーバを取得し、FTP転送してサイトを作成しているのですが、
ラジオボタンの表示が出来ません。
PCのブラウザからサイトを見ると表示出来ています。
携帯から見ると、ラジオボタンだけ表示されていないのです。
私の携帯はFOMAなのですが、表示不可。
他人の携帯でau(少し古い機種との事)で試したら表示OKでした。
FOMAのブラウザ(?)対応がいけないのでしょうか??
何か知っている事がある方、是非教えて下さいっ

Aベストアンサー

<form action…
であるべき部分が
<from action…
になっています。
直したら、表示されました。
(確認は、実機はもっていないのでシミュレータでしました)

i-modeで使用できるタグやシミュレータは以下のURLから
http://www.nttdocomo.co.jp/p_s/imode/make/tag/index.html

参考URL:http://www.nttdocomo.co.jp/p_s/imode/make/tag/index.html

Qで、Q1に後で値を設定して表示するには

お世話になります。
<input type="text" name="Q1">で、Q1に後で値を設定して表示するにはどうしたら良いものでしょうか。
name="Q1"
と、しているので、
onMousedown="function()"
で、nameでしてしたエリアに値を書き込めば、できると思うのですが、
このfunction()をどのように書いたらよいものか、いろいろ調べてもわかりません。
何とかご教示願えないでしょうか。
よろしくお願いします。

Aベストアンサー

javascriptを利用することで出来ます。
こんな感じで動くでしょう。
ちなみにテキストボックスなどをjavascriptで操作する場合は
idをつけておくと便利です。

これ以上をやりたいというのであれば
参考URLなど見て勉強してみてください
<html>
<head>

</head>
<body>

<input type="text" id="Q1" name="Q1" onmousedown="hoge()">
</body>
<script type='text/javascript'>
function hoge()
{
Q1.value = ""; //""のなかに設定する値
}
</script>

参考URL:http://www.parkcity.ne.jp/~chaichan/src/javasc21.htm

Qラジオボタンで診断テストを作成したい

ラジオボタンで診断テストを作成したい

Yes、No形式で10問のラジオボタンから選択し、
Yesの数に応じ5通りのリンク先にジャンプするようなサイトを作成しようと思っています。

調べているうちに下記のような同様の質問を発見したのですが、
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1341900288
これだと2の10乗、1024通りのリンクを設定しないといけません。

例えばYesを1、Noを0などの数値に置き換えて、
Yesの数が1-3個は"http://~~"、4-6個は"http://~~"
という風には設定できないのでしょうか?

わかりにくい説明で申し訳ありませんが、
よろしくお願いします。

Aベストアンサー

他の方の回答から一部もらってますがサンプルです。

<script type="text/javascript">
function sample(F){
var list = {
0:'htp://example.com/a.html',//0以下
2:'htp://example.com/b.html',//2以下
5:'htp://example.com/c.html',
8:'htp://example.com/d.html',
10:'htp://example.com/e.html'
};
var i=0;
var q;
var c=0;
var key=0;
while( q = F.elements[ i++ ] )
if(q.type=='radio' && q.checked) c+= parseInt(q.value);

for(key in list) {
if(c <= parseInt(key)) {
location.href = list[key];
break;
}
}
return false;
}
</script>

</head>
<body>

<form onsubmit="return sample(this)">
<p>
Q1.
<label><input type="radio" name="q1" value="1" checked>Yes</lebel>
<label><input type="radio" name="q1" value="0">No</lebel>
</p>
<p>
Q2.
<label><input type="radio" name="q2" value="1" checked>Yes</lebel>
<label><input type="radio" name="q2" value="0">No</lebel>
</p>
~略~
<input type="submit" value="診断">
</form>

Yesのvalueを2以上にしたり、
Yesを0、Noを1にすることで結果予測をしずらくすることもできます。

他の方の回答から一部もらってますがサンプルです。

<script type="text/javascript">
function sample(F){
var list = {
0:'htp://example.com/a.html',//0以下
2:'htp://example.com/b.html',//2以下
5:'htp://example.com/c.html',
8:'htp://example.com/d.html',
10:'htp://example.com/e.html'
};
var i=0;
var q;
var c=0;
var key=0;
while( q = F.elements[ i++ ] )
if(q.type=='radio' && q.checked) c+= parseInt(q.value);

for(key in list) {
if(c <= parseInt(key)) {
location.href = list[key];
...続きを読む

Q同一nameの input type="text" の合計を計算したい

初めて質問させて頂きます。
form 内で同じname名を付けられたテキストフィールドの値の合計を計算し、その値に定数を乗じた値を表示させたいのですが、出来ずに困っております。
name名を別にすれば簡単に出来そうなのですが、このinputが別CGIからの受け取りの関係で数が不定で同一nameが付いてしまいます。(inputは1個以上で上限は無し)
CGI側を書き換える事は自分の技術的に不可能なので、このような質問となりました。

以下は自分なりに試行錯誤の末の拙いソースです。
どなたかお分かりになる方、ご教授を宜しくお願い致します。

<html>
<head>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
<!--
function kakunin() {

var sub = Form.getInputs('form1', 'text');
( var subtotal = ~~~; ここに上で得た数字を合計するみたいなものがくるのかなと・・・)
var total = subtotal * 200;

document.form1.field_total.value = total; // 合計を表示

}
// -->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<form action="" name="form1">
<table>
<tr><td><input name="kazu" type="text" value="2"></td></tr>
<tr><td><input name="kazu" type="text" value="1"></td></tr>
<tr><td><input name="kazu" type="text" value="3"></td></tr>
<tr><td>・・・増えたりします・・・</td></tr>
<tr><td><input type="button" size="8" onclick="kakunin()" value="合計を確認"></td></tr>
<tr><td><input type="text" name="field_total" size="30" value="total"></td></tr>
</table>
</form>
</body>
</html>

初めて質問させて頂きます。
form 内で同じname名を付けられたテキストフィールドの値の合計を計算し、その値に定数を乗じた値を表示させたいのですが、出来ずに困っております。
name名を別にすれば簡単に出来そうなのですが、このinputが別CGIからの受け取りの関係で数が不定で同一nameが付いてしまいます。(inputは1個以上で上限は無し)
CGI側を書き換える事は自分の技術的に不可能なので、このような質問となりました。

以下は自分なりに試行錯誤の末の拙いソースです。
どなたかお分かりになる方、...続きを読む

Aベストアンサー

getElementsByNameで同一Nameを持つ要素(配列)が求められます。
var 合計 = 0;
var 要素 = document.getElementsByName("kazu");
for( var i = 0 ; i < 要素.length ; i++ ) {
  var 値 = parseInt(要素[i].value);
  if( !isNaN(値) ) 合計 += 値;
}
同じ名前でボタンとかないですよね?
あるんだったらTypeも見なければなりません。(上記コードには無い)

Q複数のラジオボタングループを動的に作成するには?

こんにちは。
MySQLのデータと連動してフォームでラジオボタンの入ったプログラムを書いているのですが、どうも期待したように動作させることができません。よろしくお願いします。

MySQLから検索してきたデータを一覧形式で表示し、各行に3つの選択枝を持ったラジオボタン群をつけたい。イメージとしては以下の通りです。

DATA 1 | あ | ●和食 ○中華 ○洋食
DATA 2 | い | ●和食 ○中華 ○洋食
DATA 3 | う | ○和食 ○中華 ●洋食
[更新ボタン]

更新ボタン1つなので、各行は 1つの<FORM></FORM>の中に入っています。各自のラジオボタンを name="syokuji1", "syokuji2"などと指定して動的に生成すれば受ける方のPHPでは $_POST["syokuji1"]などで取り出せるのですが、MySQLからのデータ数は一定ではないので、ループ等でデータを取り出せずに困っています。

希望はラジオボタンの値を syokuji[0], [1], [2]みたいな配列で取ってくることです。別に配列にこだわりませんが、ループ処理でデータを取り出せたらと考えています。

name="syoukuji[]"も試してみましたが、この場合全ラインで1つの選択しかできなくなってしまいました。

DATA 1 | あ | ○和食 ○中華 ○洋食
DATA 2 | い | ○和食 ○中華 ○洋食
DATA 3 | う | ○和食 ○中華 ●洋食
[更新ボタン]

ソースを貼ろうかと思いましたが、とりあえずは仕様の方から質問させていただきました。 よろしくお願いします。

こんにちは。
MySQLのデータと連動してフォームでラジオボタンの入ったプログラムを書いているのですが、どうも期待したように動作させることができません。よろしくお願いします。

MySQLから検索してきたデータを一覧形式で表示し、各行に3つの選択枝を持ったラジオボタン群をつけたい。イメージとしては以下の通りです。

DATA 1 | あ | ●和食 ○中華 ○洋食
DATA 2 | い | ●和食 ○中華 ○洋食
DATA 3 | う | ○和食 ○中華 ●洋食
[更新ボタン]

更新ボタン1つなので、各行は 1つの<FORM></FORM>の中...続きを読む

Aベストアンサー

タイトルと質問内容がずれている気がするので、あっているかどうか分かりませんが書いてみます。

例えば

<form method="POST>
<input type="radio" name="syokuji1" value="和食">和食
<input type="radio" name="syokuji1" value="中華">中華
<input type="radio" name="syokuji1" value="洋食">洋食
<input type="radio" name="syokuji2" value="和食">和食
<input type="radio" name="syokuji2" value="中華">中華
<input type="radio" name="syokuji2" value="洋食">洋食
<input type="submit" value="更新">
</form>

という感じでラジオボタンのグループを作成。
syokuji1では和食を選択、syokuji2では中華を選択し、更新ボタンを押せば

$_POST["syokuji1"] = "和食"
$_POST["syokuji2"] = "中華"

と、POSTを受け取る側では取り出すことができますが、これではダメなのでしょうか?
このsyokuji1~syokuji幾つか分からない数が続いていた場合に、このデータを取り出す方法が分からないのでしょうか?

このような場合は、foreachを利用します。
foreach($_POST as $key => $val){
echo "KEY = $key $val<br>";
}

参考URL:http://php.benscom.com/manual/ja/control-structures.foreach.php

タイトルと質問内容がずれている気がするので、あっているかどうか分かりませんが書いてみます。

例えば

<form method="POST>
<input type="radio" name="syokuji1" value="和食">和食
<input type="radio" name="syokuji1" value="中華">中華
<input type="radio" name="syokuji1" value="洋食">洋食
<input type="radio" name="syokuji2" value="和食">和食
<input type="radio" name="syokuji2" value="中華">中華
<input type="radio" name="syokuji2" value="洋食">洋食
<input type="submit" v...続きを読む

Qdocument.writeをinput type="text"の value値に

超初心者です。
下記の式にてPHPよりjavascriptにてHTMLに書き出しできましたが
<script type="text/javascript" src="./jsphptest.php?long=3" ></script>この値をHTMLのinput type="text"の value値にデフォルトとして入れたいと思っていますが、どうすればできるのか分かりません。できればボタン等を介さずページをロードすればこPHPからjavascriptのdocument.write値がvalue値に入って欲しいと思っています。簡単なようで難しいことなのでしょうか?どうかご教授よろしくお願いいたします。

Aベストアンサー

それからどうでもいいけど
htmlのタグの順番が適当ですね。

Q動的に作成したラジオボタンの選択肢をサーブレットに渡す

こんにちは。再度失礼します。

JSPで一覧表示された表からラジオボタンでひとつ選択し、サーブレット・Beanにその値を渡し、更新ページで更新処理、または削除処理を行わせたいと考えています。
更新用・削除用のサーブレットは別々です。
一覧表にはラジオボタンをDBに登録された名前が、DBにあるだけ(select * from テーブル)表示されることになっています。
下のソースはわかりやすいように3個だけもってくることにしてます。

【JSP】-----------------------------------------------
<% for (int i = 0; i < 3; i++){ %>
<tr><td>
<input type"radio" name="choice" value="i">
</td><td>
<%= [DBから取得した名前](i) %></td>
<%= i %>
<% } %>
【servlet】
String str = request.getParameter("choice")
--------------------------------------------------------
ここで実行するとサーブレットに渡されたchoiceの値はvalueの変数 i になってしまいます。valueの値がサーブレットに渡されるのはわかっているのですが、i ではなく、[DBから取得した名前]をサーブレットに渡したいのですがどうしたらよいのでしょうか。

良い方法をご存知の方、ご教授よろしくお願いいたします。

こんにちは。再度失礼します。

JSPで一覧表示された表からラジオボタンでひとつ選択し、サーブレット・Beanにその値を渡し、更新ページで更新処理、または削除処理を行わせたいと考えています。
更新用・削除用のサーブレットは別々です。
一覧表にはラジオボタンをDBに登録された名前が、DBにあるだけ(select * from テーブル)表示されることになっています。
下のソースはわかりやすいように3個だけもってくることにしてます。

【JSP】-----------------------------------------------
<% for (int i...続きを読む

Aベストアンサー

<input type="radio" name="choice" value="<%= [DBから取得した名前](i) %>">

これだとどうなります?

Qinput type="file"のvalue監視

input="file"のvalue値が変更されたら別のテキストフィールドに表示するというScriptを書いたのですが動作してくれません。
input="file"ではなく普通のテキストフィールドならば動作します。
fileフィールドでは動作しないのでしょうか。それとも書き方がまずいのでしょうか。

以下、ソースです。

<html>
<head>
<title>test</title>
<script type="text/javascript" src="/javascript/prototype.js"></script>
</head>
<body>
<form action="" enctype="multipart/form-data" method="post">
<input id="file_test" name="file_test" type="file">
<br>
<div id="result">表示</div>
<script type="text/javascript"><!--
window.onload = function() {
new Form.Element.Observer('file_test', 1, function(element, value) {
document.getElementById('result').innerHTML = value;
});
}
//--></script>
</form>
</body>
</html>


よろしくお願いします。

input="file"のvalue値が変更されたら別のテキストフィールドに表示するというScriptを書いたのですが動作してくれません。
input="file"ではなく普通のテキストフィールドならば動作します。
fileフィールドでは動作しないのでしょうか。それとも書き方がまずいのでしょうか。

以下、ソースです。

<html>
<head>
<title>test</title>
<script type="text/javascript" src="/javascript/prototype.js"></script>
</head>
<body>
<form action="" enctype="multipart/form-data" method="post">
...続きを読む

Aベストアンサー

type="file"は、ブラウザごとに特にセキュリティが厳しいので
基本的にはなにもできないと認識しておいた方がよいでしょう。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング