A | B | C | D | E | F | G | H | I | J | L | M | N | O | P | R | S | T | U | W |

Index: C

Checkbox Checkbox.checked Checkbox.defaultChecked
Checkbox.onclick Checkbox.value ClearTimeout()
close() closed confirm()
Crypto Crypto.random() Crypto.signText()



Checkbox要素 ・・・ チェックボックス

対応バージョン

クライアントサイドJavaScript 1.0、JavaScript 1.1で機能拡張

継承元

Input、HTMLElement

コーディング形式

一意の名前を持つ単一のCheckbox要素は、次のようにして参照されます。

form.checkbox_name
form.
elements[i]


同じ名前で複数のチェックボックスがある場合は、配列で参照します。

form.checkbox_name[j]
formcheckbox_name..
length

プロパティ

Checkbox要素は、InputオブジェクトとHTMLElementオブジェクトのプロパティを継承し、次のプロパティを定義または上書きしています。

checked    ボタンがチェックされているかどうかを示す論理値。読み書き両方が可能です。
defaultChecked    チェックボックスの初期状態を示す論理値。読み出し専用。HTMLのCHECKED属性で指定します。
value    フォームを送るときにチェックボックスが選択されていた場合にCheckboxが返す値。この値は、読み書きが可能な文字列です。HTMLのVALUE属性で初期化されます。

メソッド

Checkbox要素は、InputオブジェクトとHTMLElementオブジェクトのメソッドを継承します。

イベントハンドラ

Checkbox要素は、InputオブジェクトとHTMLElementオブジェクトのイベントハンドラを継承し、次のイベントハンドラを定義または上書きしています。
onclick	チェックボックスがクリックされたときに呼び出されます。

HTML構文

HTMLの<INPUT>タグでCheckbox要素を生成します。onClick属性にイベントハンドラを設定します。複数のCheckbox要素を生成する場合に、同じNAME属性を持つ複数の<INPUT>タグを指定してグループ化していることがよくあります。
<FORM>
    ...
  <INPUT
    TYPE="checkbox"		型をチェックボックスと指定する。
    [ NAME="name" ]		このチェックボックスあるいはこれと同じ名前の
			チェックボックスグループをまとめて参照するときに
			使用する名前。nameプロパティと同じ。
    [ VALUE="value" ]	チェックボックスが選択されたときに返す値。
			valueプロパティと同じ。
    [ CHECKED ]		チェックボックスの初期状態。
			defaultCheckedプロパティと同じ。
    [ onClick="handler" ]	チェックボックスがクリックされたときに
			呼び出されるJavaScript文。
  >
label			チェックボックスの隣りに表示するHTMLテキスト。
    ...
</FORM>

解説

Checkbox要素は、HTMLのフォーム中のチェックボックスに対応するものです。チェックボックスの隣りに表示する文字テキストは、Checkbox要素自身ではないので、<INPUT>タグの外側に指定することに注意してください。
onClickイベントハンドラには、Checkboxがチェックされたか、またはチェックをはずされたときに実行するJavaScriptコードを指定します。
checkedプロパティを調べてCheckboxの状態を判定できます。またcheckedプロパティに値を設定してCheckboxをチェックしたり、チェックをはずしたりすることもできます。ただし、checkedを設定すると、Checkboxの外観は変わりますが、onClickイベントハンドラは呼び出されないことに注意してください。
一般に、Checkbox要素にNAME属性を設定することはよいプログラミングスタイルです。Webサーバで実行されるCGIスクリプトにデータを送るフォームの一部にチェックボックスが含まれる場合は、必ずNAME属性を設定しなければなりません。NAME属性に設定した名前がnameプロパティにも設定されるので、フォームのelements配列のメンバとしてではなく直接名前でJavaScriptコードからCheckboxを参照できるようになります。これにより、コードのモジュール性と移植性が向上します。
例えば、フォームfのチェックボックスのNAME属性に"opts"を設定すると、f.optsでCheckbox要素を参照できます。しかし、一般には複数のCheckbox要素を1つのグループにまとめることが多く、そのグループの個々のメンバは同じNAME属性を持ちます(同じ名前でグループの各メンバを定義します)。このような場合、JavaScriptはCheckbox要素を配列に格納し、その配列にNAME属性で指定した名前を付けます。例えば、フォームfのCheckbox要素グループのNAME属性に"opts"を設定すると、f.optsはCheckbox要素の配列、f.opts.lengthは配列内の要素の個数をそれぞれ示します。
ただし、Navigator 2の場合、Checkbox要素グループを配列に割り当てる方法にバグがあります。詳細は以下の「バグ情報」を参照してください。
Checkbox要素のVALUE属性あるいはvalueプロパティを設定することで、フォームの送信時にチェックボックスがチェックされたかどうかを示す文字列を指定できます。チェックボックスが1つだけの場合は、デフォルト値「on」で十分です。同じ名前を持つ複数のチェックボックスを使用する場合は、個々のチェックボックスを識別できる値を指定して、どのチェックボックスが選択されたのかわかるようにします。

使用上のヒントと注意

Checkbox要素を使用すると、1つまたは複数のオプションをユーザに提示できます。この要素は、選択肢の中から複数選択できるような場合に使えます。選択肢の中から1つしか選べないようなオプションの場合にはRadio要素を使います。

バグ情報

Checkbox要素のグループが同じNAME属性を共有する場合、JavaScriptは指定した名前の配列を生成して各要素を格納します。しかし、Navigator 2にはバグがあるので要注意です。onClick属性にイベントハンドラが指定されていなかった場合、Checkbox要素は逆順で配列に格納されます。これはまったく直観に反します。また、このバグが修正されたNavigator 3との間に非互換性が生じます。
Checkbox要素にイベントハンドラ(ダミーでもかまいません)を必ず指定すれば、この問題を回避できます。例えば、それぞれのCheckbox要素の<INPUT>タグにonClick="0"を指定すればよいのです。このようにすれば、配列に格納される要素の順序がNavigator 2と3で同じであることを保証できます。

関連項目

FormHTMLElementInputRadio



Checkbox.checkedプロパティ ・・・ チェックボックスがチェックされているかどうかを表す論理値

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

checkbox.checked

解説

checkedはCheckboxオブジェクトのプロパティです。読み書きが可能な論理値で、Checkboxがチェックされているときに、checkedプロパティの値はtrueになります。Checkboxがチェックされていないときには、checkedプロパティの値はfalseです。
checkedプロパティにtrueを設定すると、Checkboxはチェックされて表示されます。checkedプロパティにfalseを設定すると、Checkboxはチェックされていない状態で表示されます。checkedプロパティに値を設定しても、CheckboxのonClickイベントハンドラは呼び出されないことに注意してください。



Checkbox.defaultCheckedプロパティ ・・・ チェックボックスの初期状態

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

checkbox.defaultChecked

解説

defaultCheckedはCheckboxオブジェクトのプロパティです。読み出し専用の論理値で、HTMLの<INPUT>タグにCHECKED属性がある場合、Checkboxの初期状態はtrueです。この属性がない場合、Checkboxの初期状態は、チェックされていない状態なのでfalseになります。



Checkbox.onclickハンドラ ・・・ チェックボックス選択時に呼び出される

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

<INPUT TYPE="checkbox" onClick="handler">
checkbox.onclick

解説

onclickは、ユーザがCheckboxをクリックしたときに呼び出されるイベントハンドラです。詳細はHTMLElement.onclickを参照してください。しかし、HTMLElement.onclickハンドラと違ってCheckbox.onclickハンドラはJavaScript 1.0からサポートされていることに注意してください。

関連項目

HTMLElement.onclick、15章



Checkbox.valueプロパティ ・・・ フォームの送信時に返される値

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

checkbox.value

解説

valueはCheckboxオブジェクトのプロパティです。読み書き可能な文字列で、フォームを送るときに、Checkboxがチェックされていることを示す文字列を保持します。HTMLの<INPUT>タグのVALUE属性で初期値を設定します。VALUE属性を指定しなかった場合、valueのデフォルト値は"on"です。
valueフィールドは、Checkboxが選択されたかどうかは示しません。checkedプロパティがCheckboxの現在の状態を示します。
同じ名前を共有する複数のチェックボックスをまとめてグループとして定義する場合は、個々のチェックボックスを識別できるようにvalue属性を設定します。



clearTimeout()メソッド ・・・ Window.clearTimeout()を参照



close()メソッド ・・・ Window.close()を参照



closedプロパティ ・・・ Window.closedを参照



confirm()メソッド ・・・ Window.confirm()を参照



Cryptoオブジェクト ・・・ 暗号化のためのオブジェクト

対応バージョン

クライアントサイドNavigator 4.04以降

コーディング形式

crypto

関数

crypto.ramdom()
	ランダムなバイト列を生成します。
crypto.signText()
		ユーザの電子署名を任意のテキストに付けてもよいか尋ねます。

解説

CryptoオブジェクトはNavigator 4.04以降のブラウザに追加されたオブジェクトです。このオブジェクトは、各Windowオブジェクトのcryptoプロパティから参照されます。signText()メソッドは、ユーザの電子署名を任意のテキストに付けてもよいか尋ねるのに使います。random()メソッドはランダムなバイト列を返します。



Crypto.random()メソッド ・・・ ランダムなバイト列の生成

対応バージョン

クライアントサイドNavigator 4.04以降

コーディング形式

crypto.random(numbytes)

引数

numbytes    生成する疑似乱数データのバイト長。このバイト長によって、暗号化強度が決まります。

リターン値

numbytes個の文字からなる文字列。各文字はランダムなバイトデータです。

解説

Crypto.random()メソッドは、暗号化アプリケーションに適した疑似乱数の作成に使われます。Math.random()関数のようにランダムな数を返すのではなく、ランダムなバイト列を返します。

関連項目

Math.random()



Crypto.signText()メソッド ・・・ 電子署名をするかユーザに尋ねる

対応バージョン

クライアントサイドNavigator 4.04以降

コーディング形式

crypto.signText(textCASelectionallowedCA, ...)

引数

text    署名するテキスト
CASelection    署名に使う証明書をどのようにして選ぶかを指定する文字列です。この引数が「ask」の場合は、利用可能な全部の証明書をユーザに提示ます(allowedCAが指定されている場合は、指定されたCAの1つが署名した証明書の一覧をユーザに提示します)。
CASelectionが「auto」の場合、signText()関数は自動的に証明書を選びます。証明書は、残りの引数で指定されたCAのいずれかが署名したものの中から選ばれます。
allowedCA...    信用できる証明書発行人(Certificate Authority:CA)の識別可能な名前(Distinguished Name:DN)を指定する0字以上の文字列。allowedCA引数が1つでも指定されると、指定されたCAが発行した証明書を使って電子署名が作られます。指定されたCAが発行する証明書を持っていない場合、署名は作成されず、signText()関数はエラーコードを返します。

リターン値

エラーが起きなかった場合、signText()関数はバイナリデータをbase64エンコーディングし、PKCS #7に準拠した文字列で返します。この値がHidden要素に格納され、フォームのサブミットとともにサーバに送られると、サーバはその値をデコードし、Netscape Signature Verification Toolを使って署名を照合します。
signText()関数は次のようなエラーコードを返すことがあります。
error:noMatchingCert
ユーザが証明書を持っていない、またはallowedCA引数で指定された証明書発行人が発行した証明書を持っていない。
error:userCancel
ユーザがテキストに署名することを拒否し、signText()関数が表示したダイアログの「キャンセル」ボタンをクリックした。
error:internalError
内部エラー(例えば使用できるメモリの量を超過したとき)が起きたために、テキストに署名できなかった。

解説

signText()メソッドはtextを含んだダイアログボックスを表示し、そのテキストに署名するか尋ねます。ダイアログボックスの「OK」ボタンをクリックすると署名し、「キャンセル」ボタンをクリックすると署名を拒否するようにできます。
CASelection引数が「ask」なら、ユーザが署名を作成できる証明書の一覧をダイアログボックスに表示します。CASelection引数が「auto」の場合は、signText()関数は自動的に証明書を探して選びます。
3番目以降の引数は、信用できる0個以上の証明書発行人の名前になります。これらの引数は、電子署名を作成する場合にどの証明書を使うかを指定します。作成された電子署名は、署名の照合を行うと有効なものになります。
エラーが起きなかった場合、signText()関数はバイナリデータをbase64エンコーディングした文字列を返します。この文字列はフォームに格納され、サーバへ送られます。そして、サーバでデコードされて署名の照合が行われます。




トップページに戻る