チェックボックスの値

[上に] [前に] [次に]
ゆっけ [E-Mail] 1999/04/23(金) 11:47:53
チェックボックスをチェックした時には値はtrue、falseのような
形で入っているのでしょうか?

無責任官庁 1999/04/23(金) 12:56:25
何でそれを受けた時なのかによって変わりますけど・・・

CGIなら→http://www.tohoho-web.com/html/input.htm
を参照。
(value="〜"の値が入る)

JavaScriptなら→http://www.tohoho-web.com/js/form.htm#Element
を参照。
(モノによって違う)

ゆっけ [E-Mail] 1999/04/23(金) 13:29:17
1つのボタンクリックで2つの動作をしたいんです。
まずはJavaScriptでチェックボックスのチェックを
参照してチェックされていたら1、されていなかったら0と
いうようにして1つの文字列にする。(3つのチェックボックスが
あって1つめだけがチェックされていたら"100"というように)
次に文字列をCGIに渡す。
こんなことって出来ますか?

ふじ 1999/04/23(金) 13:40:25
function check(){

if(document.f.c1.checked){
val = val + "1";
}else{
val = val + "0";
}
//↑これを全てのチェックボックスについて繰り返す。
document.f.total.value = val;
docuemnt.f.submit();
}

<form name=f>
<input type=hidden name=total>
<input type=checkbox name=c1>
<input type=button onClick="check();">
</form>

こんなかんじかな?
動作確認していないけど(^^;

ゆっけ [E-Mail] 1999/04/23(金) 13:47:03
1つのボタンクリックで2つの動作をしたいんです。
まずはJavaScriptでチェックボックスのチェックを
参照してチェックされていたら1、されていなかったら0と
いうようにして1つの文字列にする。(3つのチェックボックスが
あって1つめだけがチェックされていたら"100"というように)
次に文字列をCGIに渡す。
こんなことって出来ますか?

ゆっけ [E-Mail] 1999/04/23(金) 13:47:18
1つのボタンクリックで2つの動作をしたいんです。
まずはJavaScriptでチェックボックスのチェックを
参照してチェックされていたら1、されていなかったら0と
いうようにして1つの文字列にする。(3つのチェックボックスが
あって1つめだけがチェックされていたら"100"というように)
次に文字列をCGIに渡す。
こんなことって出来ますか?

ゆっけ [E-Mail] 1999/04/23(金) 13:55:21
間違って立て続けに再投稿してしまいました。
すいません。
ふじさんの方法で値は取れました。
もし、その値を戻り値として受け取り、
それをCGIのパラメータにするとしたら
どう記述すればよいのでしょう?

無責任官庁 1999/04/23(金) 13:57:07
こんな感じかな?

<form method=get action="hoge.cgi" name=huga>を書く
input type=checkで、check1,check2,check3を作る
input type=hiddenで、data1を作る(name="data1",value=""とか)
submitボタンに、onClick="hoge();return true"とか書く。

そしてスクリプトで、
function hoge(){
ret="";
if(document.huga.check1.checked==true)
{ret="1";}else{ret="0";}
if(document.huga.check2.checked==true)
{ret=ret+"1";}else{ret=ret+"0";}
if(document.huga.check3.checked==true)
{ret=ret+"1";}else{ret=ret+"0";}
document.huga.data1.value=ret;
}
などとする。

どお?
method=postは、IE4以降とかじゃないと動かないからgetね。
あと名前はテキトウなんで、自分のに置き換えてね。

無責任官庁 1999/04/23(金) 13:58:14
ごめん。
考え過ぎて発言遅れた。(^_^;)

匿名希望 1999/04/23(金) 14:13:31
お、でも大筋では流れにそった答えになってましたね。(^_^;)
上記は、submitボタンのばやいです。

ふじさんのサンプルでも、FORMタグを
<form method=get action="hoge.cgi" name=huga>
みたいにすれば、そのままでCGIにいけるはず。

無責任官庁 1999/04/23(金) 14:14:23
ごめん。↑これ私ね。

ゆっけ [E-Mail] 1999/04/23(金) 17:45:43
皆さんのアドバイス通りにしてあたいはとれたのですが
cgiのパラメータにxxx.cgi name=aaというように
elementのnameが入ってしまいますよね。
このname=を取り除いて値だけを参照するにはどうすればよいでしょうか?

ふじ 1999/04/23(金) 17:57:34
CGIはPerlですよね?だったら
s/.*=//;
とか。

ゆっけ 1999/04/23(金) 18:13:05
すいません、Cなんです。

ゆっけ 1999/04/23(金) 20:33:40
[[解決]]
みなさん本当にありがとうございました。
「cgiのパラメータにxxx.cgi name=aaというように
elementのnameが入ってしまいますよね。 」
こんな事言ってしまいましたが私のミスでした。
単に<METHOD=GET>が抜けていました。

[上に] [前に] [次に]