• 締切済み

HTML内外におけるチェックボックスの扱い

ASPにおけるチェックボックスに関するご質問させていただきます。 現在、ASPファイルにおいて、チェックボックスを使用したプログラムを組んでいます。 作成しようとしているプログラムは、 「該当チェックボックスをチェックしたか否かで、確定ボタンを押したあとの移動先URLを変更する」ものです。 プログラムは以下のようになっています。 [abc.asp] <%@script language = vbscript %> Function SelectURL()  チェックされたチェックボックスの値を知りたい・・・☆ End Function <HTML> <HEAD> </HEAD> <BODY> <FORM NAME=frmCheck>    <INPUT TYPE=checkbox NAME=c1 VALUE="001">チェックボックス1    <INPUT TYPE=checkbox NAME=c2 VALUE="002">チェックボックス2    <INPUT TYPE=checkbox NAME=c3 VALUE="003">チェックボックス3 </FORM> </BODY> </HTML> このような状態です。 チェックボックスのうち、チェックされているもののVALUE値を知りたいのです。 値を知りたい場所は、☆印のある場所でです。 HTML内においては、document.frmCheck.c1.checked、.value等でチェックの有無は確認できるのですが、☆印はHTMLの外にあります。 何かアドバイスをいただければと思います。よろしくお願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

c1,c2,c3などのコントロールのonclickイベントをSelectURLにしてしまえばいいのでは <INPUT TYPE=checkbox NAME=c1 VALUE="001" onclick="SelectURL();">チェックボックス1 といった具合で ...

okwave_gue
質問者

お礼

試したらできました! ありがとうございました!

関連するQ&A

  • チェックに応じて違うチェックボックスをアクティブにしたい

    次のHTMLのように、大分類、小分類のような構成のチェックボックス グループがあります(初期設定は全部チェック無しです) 普段は[a][b][c][d]をdisableとしておき、(1) にチェックが入った 場合に[d]以外([a][b][c])アクティブ(?とにかくチェックを入れる ことができる)ようにするにはどうしたらいいでしょうか。 よろしくお願い致します。 <form id="Form1"> : <INPUT TYPE="CHECKBOX" NAME="food" value="果物">(1) 果物 <INPUT TYPE="CHECKBOX" NAME="food" value="野菜">(2) 野菜 <INPUT TYPE="CHECKBOX" NAME="food" value="肉魚">(3) 肉魚 <br> <INPUT TYPE="CHECKBOX" NAME="fruit" value="りんご">[a] りんご <INPUT TYPE="CHECKBOX" NAME="fruit" value="みかん">[b] みかん <INPUT TYPE="CHECKBOX" NAME="fruit" value="ぶどう">[c] ぶどう <INPUT TYPE="CHECKBOX" NAME="fruit" value="バナナ">[d] バナナ : </form>

  • チェックボックスのチェックについて

    submit時に一つでもチェックがなければアラートを表示 チェックがあれば進む・・・としたいです。 <form action=next.html name=form1> <input type=checkbox name=checkbox1 value=1> <input type=checkbox name=checkbox2 value=2> <input type=checkbox name=checkbox3 value=3> <input type=checkbox name=checkbox4 value=4> <input type=checkbox name=checkbox5 value=5> ~以下50まで続きます <input type=submit value=submit> </form> function countChecked(form1) { var total = 0; var max = 50; for (var index = 0; index < form1.checkbox.length; index++) { total += form1.checkbox[index].checked ? 1 : 0; } if(countChecked(document.form1)) > 0) { return true; } else { alert("no"); return false; } return(total); } 過去に似たような質問を参考に作ってみましたがダメでした。 チェックボックスの名前の付け方が悪いのでしょうか。

  • JAVAのチェックボックスの扱いについて

    HTMLから選択された情報をJSPで表示するプログラムを作っているのですがチェックボックスが選択されてるかどうかのプログラムの書き方がわかりません。 とりあえず出来ているところまでのソースを見せます。 ・HTML <input type="checkbox" name="aa" value="aa"> <input type="checkbox" name="aa" value="bb"> <input type="checkbox" name="aa" value="cc"> <input type="checkbox" name="aa" value="dd"> <select name="abc"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> ・JSP //情報をもらう String abc = request.getParameter("abc"); String[] aa = request.getParameterValues("aa"); for(int i=0;i<aa.length;i++){ aa[i]; } 上のようにチェックボックスは情報を取り出しているんですが 選択されていないときはエラーになってしまいます。 for文の前に値が入っているかどうかのチェックをしなくてはいけないのですがどのように書いていいかわかりません。 誰か教えてください。

    • ベストアンサー
    • Java
  • CGIでチェックボックスを使う方法

    チェックボックスをCGI(C言語)で使用する方法を教えて下さい。 例えば、HTMLで <input type="checkbox" name="Check1" value="Sel11" /> チェック1 選択1<br /> <input type="checkbox" name="Check1" value="Sel12" /> チェック1 選択2<br /> <input type="checkbox" name="Check1" value="Sel13" /> チェック1 選択3 <hr /> <input type="checkbox" name="Check2" value="Sel21" checked /> チェック2 選択1<br /> <input type="checkbox" name="Check2" value="Sel22" /> チェック2 選択2<br /> <input type="checkbox" name="Check2" value="Sel23" checked /> チェック2 選択3 というプログラムはCGI(C言語)ではどの様に記述すれば良いでしょうか?

    • ベストアンサー
    • CGI
  • チェックボックス等の扱い。

    http://oguchan.s4.xrea.com/language/php/ のサイトにて、 <FORM> <INPUT TYPE="TEXT" NAME="hoge" VALUE="1"> <INPUT TYPE="SUBMIT"> </FORM> は、phpスクリプト内で$hogeで参照でき、しかしそれは危険であるから、 register_globals を無効にしてこれをできなくする。とあります。 PHP4~もそういうように設定されていると聞きました。 しかし、チェックボックスで同じname、で異なるvalueをもつ複数のデータを扱うときに、 <input type="checkbox" name="delno[]" value="no1"> <input type="checkbox" name="delno[]" value="no2"> としたときに、 echo $_POST['delno'][0]; echo $_POST['delno'][1]; と参照できてしまうのですが、これはいいのですか?

    • ベストアンサー
    • PHP
  • チェックボックスの値を、ページまたぎさせる

    質問内容が伝わりにくかったら申し訳ありません。 現在、aspを使い、以下のようなプログラムを組もうとしています。 [ファイル] 1.asp 1-1.asp 2.asp [仕様] ○1.aspにある「A」ボタンを押すと、1-1.aspが別窓で開く。 ○1-1.aspにはチェックボックスが30個、「確定」ボタン、「戻る」ボタンがある。「確定」ボタンを押すと、チェックボックスの値を保持し、1-1.aspを閉じる。「戻る」ボタンを押すと、チェックボックスの値を保持せず、1-1.aspを閉じる。 ○1.aspにある「B」ボタンを押すと、2.aspが開く。 ○2.aspにおいて、1-1.aspでチェックされた値を利用する。 つまり、1-1.aspでチェックした値を、2.aspで利用したいのです。 私が考えたプログラムは、以下のとおりです。 しかし、このプログラムだと、(1)の行でエラーが起きてしまうようです。 [1-1.asp] <form method=post action="2.asp"> <input type=checkbox name="chk" value="1"> <input type=checkbox name="chk" value="2"> <input type=checkbox name="chk" value="3"> ・ ・ <input type=checkbox name="chk" value="30"> </form> [2.asp] <% SCRIPT LANGUAGE = JAVASCRIPT %> <% Dim a,a_split,b a=Request.Form("chk") ・・・(1) a_split=split(a,",") for each b in a_split Response.Write(b) next %> <input type=hidden>で送る方法等も検索してみましたが、やはり「次のページへチェックボックスの値を送る」方法はあるのですが、「ページをまたぐ」ような処理が分かりません。 どなたか、[仕様]を達成できるようなプログラムのご教授をお願いいたします。

  • submitでチェックボックスが認識されない

    HTML(ASP)でプログラミングをしています。 入力フォームにチェックボックスが複数個あり、同一項目名称でインデックスをしようしていますが、ボタン押下時に遷移先のプログラムでインデックスエラーが発生し項目が認識されません。 デバッグの結果チェックボックスの項目が『Off』の場合に項目が認識されていない事がわかりました。 以前同様の画面を作成した時にはインデックスは使用していませんでしたが正常に機能していました。 チェックボックスではインデックスを使用するとエラーになる等のルールがあるのでしょうか? ご存知の方いらっしゃいましたらお教え願います。 OS:WIN2K DB:SQLServer2K プログラム抜粋 ▲入力フォーム▲ <form method=post name=form1 target=_top action="upd.asp">  <input type=checkbox name=outKa1 value="1" checked>  <input type=checkbox name=outKa2 value="1" checked>  <input type=checkbox name=outKa3 value="1" checked>  <input type=checkbox name=outKa1 value="1" checked>  <input type=checkbox name=outKa2 value="1" checked>  <input type=checkbox name=outKa3 value="1" checked>  <input type=submit value="送信"> </form> ▲upd.asp▲ <%  For intOcnt = 1 To 2   For intIcnt = 1 To 3    If Request.Form("outKa" & intIcnt)(intOcnt) = "1" Then     ■更新処理■    End If   Next  Next %> ■更新処理■上部のIF文で『インデックスが有効範囲にありません』とエラーになります。

    • ベストアンサー
    • HTML
  • 複数あるチェックボックスの入力チェックするには?

    チェックボックスの入力チェックスクリプトを探しており、下記のようなスクリプトをネット検索で見つけました。 <!-- <script type="text/javascript"> function chNull(msg,obj) { if(!obj) return true; if((obj.type || obj[0].type) == 'checkbox'){ var flag = 0; if(obj.length){ for(var i=0; i<obj.length; i++) { if(obj[i].checked) flag = 1; } } else { if(obj.checked) flag = 1; } if(flag == 0) { alert(msg + 'を選択してください。'); return false; } } return true; } --> </script> <form method="POST" action="■.cgi" onSubmit="return chNull('チェックボックス',a);"> <input type="checkbox" name="a" value="A1" />A1 <input type="checkbox" name="a" value="A2" />A2 </form> 同じnameのチェックボックス群がひとつしかないときはこれで問題ないのですが、 下記のようにnameが複数ある場合にはこのスクリプトのどの部分を変えればよいのでしょうか? <input type="checkbox" name="a" value="A1" />A1 <input type="checkbox" name="a" value="A2" />A2 <input type="checkbox" name="b" value="B1" />B1 <input type="checkbox" name="b" value="B2" />B2 <input type="checkbox" name="c" value="C1" />C1 <input type="checkbox" name="c" value="C2" />C2 できればこのスクリプトをベースとして使用したいと思っています。どなたかお分かりの方がいらっしゃいましたらお教え下さいませ。 よろしくお願い致します。

  • チェックボックスが1つ以上チェックされたかチェックしたい

    以下のフォームで、 p_cdのチェックボックスが1つ以上選択されたかチェックしたいのですが、良い方法ございますでしょうか? <form name='test'> <input type="hidden" name="p_name[]" value='xx'> <input type="checkbox" name="p_cd[]" value='1'> <input type="hidden" name="p_name[]" value='yy'> <input type="checkbox" name="p_cd[]" value='1'> </form>

  • チェックボックスの値を取り出したい

    こんにちは JavaScript初心者です。 過去ログを見ながらここまでやったのですが、何も表示されません。 ?マークの所で引っかかっていると思うのですがどなたかご教授願います。 やりたい事は、チェックボックスのチェックの入った所の値を取り出して表示したいのですが... 3つチェックされていてOKをクリックした時に、ABC と出てくるのが理想です。 <html> <SCRIPT LANGUAGE="JavaScript"> <!-- function chkform() { for(i=1; i<=3; i++) { chkdata(i) = document.form0.chk(i).Value    ? var aa = chkdata(i) document.write(aa) } } //--></SCRIPT> <FORM onSubmit="return chkform(this)" name = "form0"> <INPUT type="checkbox" name="chk" value="A" > <INPUT type="checkbox" name="chk" value="B" > <INPUT type="checkbox" name="chk" value="C" > <INPUT type="submit" value="OK" > </form> </html>