冬物クリーニング最大49%OFFはコチラ

<INPUT type="checkbox" name="check_1" value="1">
という記述だと、
チェックあるとき→1
チェックないとき→(空白)
となりますよね。
チェックあるとき→1
チェックないとき→0
にしたいときはどうすればよろしいのでしょうか?

教えて!goo グレード

A 回答 (4件)

チェックボックスやラジオボタンはチェックされていないと何も送信されないので、JavaScript でチェックボックスの値を変更しても意味がありません。



JavaScript依存でよいなら、確実に値が送信される hidden を使って
  <input type="hidden" name="check_1" value="0">
  <input type="checkbox" onclick="this.form.check_1.value=this.checked ? 1 : 0">
のようにすれば、常に 1 か 0 が送信されます。

依存したくない場合は、CGI側でデフォルト値を指定するようにします。例えば Perl で、フォームデータを %FORM に入れている場合、デコード処理の後で
  $FORM{check_1} ||= 0;
のようにします。
    • good
    • 4
この回答へのお礼

ありがとうございました。早速使わせていただきますね。

お礼日時:2004/11/26 03:21

#2です。


#3の方の言われる通り、チェックがない時はそもそも送られないので無意味でした。
あと、onclickで駆動して、値をセットするということは、onclickしないと動作しないということでもあるのでその点でも意味がなかったです。
最初の状態として checked になってないと意味がないですね(値がない状態にするのにクリックが必要でないと)。
    • good
    • 0

クリックした時に強制的に値を付ける


<INPUT type="checkbox" name="check_1" value="1" onclick="javascript:this.value = (this.checked)? '1': '0';">
    • good
    • 1

こんにちは。



value="0"
にしておいて、送信前に全チェックボックスを走査して、ONならvalueを1にする・・・。

こんなんしか思いつきません・・・。
すみません。
(^^ゞ
    • good
    • 0

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

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

教えて!goo グレード

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

人気Q&Aランキング