• ベストアンサー

チェックボックスのON/OFFでValueの値を変える方法が分かりません。

チェックボックスをONにしたらValue=1、OFFにしたらValue=0で送信するJavaScriptがどうしても分かりません(><) 元のCGIを変更せず、JavaScriptだけで変更する方法を教えてください!お願いします!

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

質問にあいまいな点があります。 >チェックボックスをONにしたらValue=1 なんのバリューが1なのでしょうか? 単純にcheckboxのvalueが1なら、 <input type="checkbox" value="1" name="hoge"> とするとチェックされている場合は1を返します。 ただし、チェックがはずれてもvalue=0は返しません。 なぜならcheckboxのcheckedがfalseの際には 値を返さない決まりがあるためです。 どうしても明示的に特定の名前に対して0を返さなくては いけないなら以下のようにしてはどうでしょうか? <form action="hogehoge.cgi"> <input type=checkbox onClick="this.form.hoge.value=((this.checked) ? 1:0)"> <input type=hidden value="0" name="hoge"> <input type=submit value="send"> </form>

sherbets
質問者

補足

>ただし、チェックがはずれてもvalue=0は返しません。 なぜならcheckboxのcheckedがfalseの際には 値を返さない決まりがあるためです。 ということはチェックを入れたもの「1」、 チェックを外したもの「0」で返すのは無理なのですね。 教えていただいた方法だとチェックしてもチェックしなくても0で返しますよね。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

亀レスですが・・・・ >教えていただいた方法だとチェックしても >チェックしなくても0で返しますよね。 あれ?チェックされているとhoge=1でされてないと hoge=0を返しませんか? とりあえずmethod=getでやると確認できると思いますが。

関連するQ&A

  • Accessのチェックボックスをオンにするには

    Access2000でフォームを作成し、テキストボックス1に入力した内容をチェックボックス1にオンの状態で表示させたいのですが、フォームビューでもチェックボックスがオンでもオフでもなくグレイの状態で表示されています。 かりにテキストボックスの入力値が”ABC"を入力したあと チェックボックス1にオンの状態にするには、 どのようなコードになりますか? public sub() if me.テキストボックス1.value = "ABC" then me.チェックボックス.value = ture じゃだめですよね? チェックボックスをオンにする方法と、テキストボックスがNULLだったらオフにする方法を教えていただけませんでしょうか?

  • チェックボックスのON/OFF

    こんにちは。 以下のようなテーブルがありまして <tr> <td>チェックボックス</td> <td>ID</td> <td>名前</td> </tr> このテーブルのTRのどこかをクリックするとチェックボックスを ON/OFFする方法のヒントを頂けないかと思って質問に参りました イメージとしては<label for="">の機能をTRに付けたいのです 作表とチェックボックスの環境としましては データベースから取り出したデータをforで回してテーブルに配置 チェックボックスのタグは各行に1つでこれのON/OFFがしたい チェックボックスのデータは配列で送りたいので○○[]名称 となっております (この辺りにはPHPを使用しています) セルクリックで背景色を変更するサンプルと、チェック全選択/全解除の サンプルはあるのですが、組み合わせや加工の仕方がわからず 調べてみてもチェックボックスをクリックしたら…というサンプルばかりで 私が求めている方法は残念ながら見つけられませんでした こんな質問だと丸投げになってしまうので、ヒントや処理の流れだけでも 教えて頂けると助かります ヨロシクお願いします

  • チェックボックスのvalueをテキストに追加したい

    チェックボックスをオンにすると、そのオンした順番でそのチェックボックスのvalueをあるテキストの前に追加していきたいです。 下のように、テストという文字の前にチェックボックスのvalueを入力。 その際、チェックをオフにしたらテキストからも、そのvalueの値が消えるようにしたいのですが、 何か良い方法はありますか? 例えば、あいうの順番で選択すると、「あいうテスト」になって、いうあの順番で選択すると「いうあテスト」になり、 いのチェックボックスをオフにすると、「あうテスト」や「うあテスト」になるようにしたいです。 □ あ □ い □ う text1=あいうテスト

  • チェックボックスのvalue値の取得について

    過去の質問にいくつか似たようなものはあったのですが、解決出来ませんでしたので質問させて頂きます。cgiでページを作成しています。今回処理したい内容は、一覧表の複数のチェックボックスから、オンになっているvalue値を取得し、その値に一致するナンバーを使って別のファイルのデータを削除するといった処理です。 == html一部内容 == <form action='update.cgi' method='POST'> <input type='checkbox' name='del_0' value='0'> <input type='checkbox' name='del_1' value='1'> <input type='checkbox' name='del_2' value='2'> <input type='submit' name='submit' value='削除'> </form> == update.cgiの一部内容 == for($loop=2,$loop>=0,$loop--) { $del[$loop]=$in{'del_$loop'}; } データ数が多いのでループさせてすべてのチェックボックスのvalue値を取得したいと思っています。チェックボックスがオフの場合の扱いがいまいち分かっていません。一つずつ例えば $del_1=$in{'del_1'}; と代入していくとonのもののみ取得できます。しかしループにするとonの値も変数に入りません。 どんな方法でも良いので、すっきりとチェックボックスのvalue値を変数に取得する方法を教えてください。お願い致します。M(v_v)M

    • ベストアンサー
    • Perl
  • オフになっているチェックボックスのデータ送信

    フォームの値をPOSTで送信しているのですが、 チェックボックスの値はオンになっているもののみ送信されるのですよね。 データの受け側のプログラムに渡せなくて困っています。 (□はチェックボックスのつもりです、■はオンのつもりです) データ1:■ データ2:□ データ3:□ データ4:■ データ5:□ という画面から、 データ1=1 データ2=0 データ3=0 データ4=1 データ5=0 という風に全てのデータに対して配列で1つのパラメータとして渡したいのです。 Hiddenを使用しても、チェックボックス自体に名前が入っているので?POSTで一括送信すると、1つもチェックされなかった場合に、プログラム側で引数が不足していると認識されてダメでした。 チェックボックスに名前を付けずに、Hiddenの値を操作するなんて出来ないですよね・・・? またデータ送信前にオンかオフかチェックして、オフになっているもののValueを0に変更した上でチェックする、というのもやってみたのですが、history.backで戻った時に、全部オンになってしまうので、これもダメでした・・・ 何か良い方法をご存知の方がいらっしゃいましたら、よろしくお願いします!

  • onとoffを画像でチェンジ、チェックボックスと連動させる

    下記は画像をクリックした際に、onとoffに変更し、かつチェックボックスのvalueの値を変更しておりますが、 例えば、A、B、C、D4個のボタンを準備し、それぞれにonとoffの画像を準備し割り当て、それぞれが、単独で、onとoffができるようにしたいのですが、どなたかご教授願います。 これは、1個のボタンを2枚の画像でオンとオフを切り替えていますが、4個のボタンでそれぞれのボタンのオンとオフの画像を準備して、それぞれのボタンのvalue値を変えたいというのがやりたい内容です。 <script type="text/javascript"> function sample(Img,name){ var onImg = 'on.gif'; var offImg = 'off.gif'; var Input = document.getElementsByName(name)[0]; if(Input.value){ Input.value = ''; Img.src = offImg; }else{ Input.value = 'on'; Img.src = onImg; } } </script> <img src="off.gif" alt="" width="" height="" onclick="sample(this,'CBOX1')"> <input type="hidden" name="CBOX1">

  • 一つのチェックボックスのON/OFFに応じて他の複数をON/OFFに

    昨日の質問した下記の関連で再質問です。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1765687 親1に対し、子1~4と、合計5つのチェックボックスがあり、 親のチェックOFF ⇒ 子1~4をdisableに、 子のチェックON ⇒ 子1~4をactive としたいのですが、 #4さんのご回答を適用すると、上記5つのチェックボックス以外も 全てdisableの対象になってしまいます。 他方、自分の元質問のソースを改造しようとも思いましたが、 子1~4のname属性が全て違う名前のため、そのままでは使えません。 ついでに(些細なことですが) 子1~4の全てがONにされた時に、親がOFFなら自動でONにしたいです。 テンプレートは下記ですが、よろしくお願い致します。 <html> <head> <script language="javascript" type="text/javascript"> // ■■■■ </script> </head> <body> <form id="query" name="query"> <input type="checkbox" name="oya" value="1" checked>親 <input type="checkbox" name="ko1" id="ko1" value="1" checked>子1 <input type="checkbox" name="ko2" id="ko2" value="1" checked>子2 <input type="checkbox" name="ko3" id="ko3" value="1" checked>子3 <input type="checkbox" name="ko4" id="ko4" value="1" checked>子4 </form> </body> </html>

  • チェックボックスのon/offで

    VB2008EEです。 チェックボックスにチェックを入れると指定したボタン上のテキストが「aaa」、 オフにすると「bbb」と切り替わるように出来るでしょうか? チェックボックスをオフにすると指定したラジオボタンがグレーアウトして 押せないようにして、オンにするとグレーアウトが解除されて選択できるように出来るでしょうか?

  • チェックボックスのvalue値のチェック

    POSTされたチェックボックスの値の検証はどのようにしていますか? 私はチェックボックスの表示とともにvalue値をセッションに入れといて、送信先のページで、POSTされたvalue値がセッションに含まれていればOK、含まれていなければイタズラと判定しているのですが、 もっと簡単にすむ方法があれば教えていただきたいです。

    • ベストアンサー
    • PHP
  • チェックボックスでのvalue値のスペースについて

    HTMLのformからチェックボックスで選択された値をCGIに飛ばしデータファイル(cgiファイル)に保存したいのですが、 チェックボックスのvalueを複数選択するとvalue値の間にスペースが入ってしまいます。 正確にはデータファイルをterapadで開こうとすると、 「NULL文字を含むファイルです。NULL文字は半角スペースへ変換しました。」というアラートがでてvalue値の間に半角スペースが入ってしまいます。 <チェックボックスのHTML> <input type="checkbox" name="■" value="jpn" />日本 <input type="checkbox" name="■" value="usa" />米国 ■にはデータを保存する項目の番号が入っており、一つのチェックボックスでは同じ番号が入ります。 例えば■が1なら1番に保存されます。 日本と米国を選択し送信するとデータファイル上では「jpn usa」となってしまいます。 NULL文字とはデータの値がない場合に返される値だという認識なのですが、全てのチェックボックスを選択していれば、 「jpnusa」という形で送信されるものではないのでしょうか? データを送信する際、このNULL文字による半角スペースをなくしたいのですが、何か方法はありますでしょうか? やはりCGIファイルを編集しなければ不可能なのでしょうか? ご教授よろしくお願いします。

    • ベストアンサー
    • CGI