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

Index: I

Image Image.border Image.complete
Image.height Imagehspace Imagelowsrc
Image.name Image.onabort Image.onerror
Image.onload Image.src Image.vspace
Image.width Infinity Input
Inputblur() Input.checked Input.click()
Input.defaultChecked Input.defaultValue Input.focus()
Input.form Input.length Input.name
Input.onblur Input.onchange Input.onclick
Input.onfocus Input.options[] Input.select()
Input.selectedIndex Input.type Input.value
is.Finite() isNaN()



Imageオブジェクト ・・・ HTMLドキュメントに埋め込まれた画像

対応バージョン

クライアントサイドJavaScript 1.1

継承元

HTMLElement

コーディング形式

document.images[i]
document.images.length
document.image-name

コンストラクタ

new Image(width, height);

引数

width, height	画像の幅と高さ(省略可能)。

プロパティ

ImageオブジェクトはHTMLElementオブジェクトからプロパティを継承し、次のプロパティを定義または上書きしています。

border
読み出し専用の整数。画像の枠の幅をピクセル数で示します。初期値はHTMLの BORDER属性で設定します。
complete
読み出し専用の論理値。画像のロードが完了したかどうかを示します。
height
読み出し専用の整数。画像の高さをピクセル数で示します。初期値はHTMLのHEIGHT属性で設定します。
hspace
読み出し専用の整数。画像の左右に挿入する余白をピクセル数で示します。初期値はHTMLの HSPACE属性で設定します。
lowsrc
読み書きが可能な文字列。低い解像度で表示する代替画像のURLを指定します。初期値はHTMLの LOWSRC属性で設定します。
name
読み出し専用の文字列。画像の名前のこと。初期値はHTMLのNAME属性で設定します。NAME属性で設定した名前を画像に付けると、その画像への参照はdocument.images[]配列だけでなく、image-nameプロパティにも格納されます。
src
読み書きが可能な文字列。表示する画像のURLのこと。初期値はHTMLの SRC属性で設定します。このプロパティを新たに設定すると、指定した新しい画像を読み込み、表示します。
vspace
読み出し専用の整数。画像の上下に挿入する余白をピクセル数で示します。HTMLの VSPACE属性で設定します。
width
読み出し専用の整数。画像の幅をピクセル数で示します。HTMLの WIDTH属性で設定します。

イベントハンドラ

ImageオブジェクトはHTMLElementオブジェクトからイベントハンドラを継承しています。そして、次のイベントハンドラを定義しています。

onabort
ユーザが画像のダウンロードを中止したときに呼び出されるイベントハンドラ。
onerror
画像のダウンロード中にエラーが発生したときに呼び出されるイベントハンドラ。
onload
画像のロードが完了したときに呼び出されるイベントハンドラ。

HTML構文

Imageオブジェクトは標準HTMLの<IMG>タグで生成します。イベントハンドラも追加できます。以下に示す構文で、JavaScriptでは使用しない一部の<IMG>属性は省略してあることに注意してください。

<IMG SRC="url"			表示する画像。
     WIDTH=pixels		画像の幅。
     HEIGHT=pixels		画像の高さ。
     [ NAME="image_name" ]	画像のプロパティ名。
     [ LOWSRC="url" ]		低い解像度の場合の代替画像。

     [ BORDER=pixels ]		画像枠の幅。
     [ HSPACE=pixels ]		画像の左右に空ける余白。
     [ VSPACE=pixels ]		画像の上下に空ける余白。
     [ onLoad=handler ]		ロードの完了時に呼び出される。
     [ onError=handler ]	エラーの発生時に呼び出される。
     [ onAbort=handler ]	ロード中止時に呼び出される。
>

解説

document.images[]配列のImageオブジェクトは、<IMG>タグでHTMLドキュメントに埋め込まれた画像に対応します。このオブジェクトのプロパティはその大半が読み出し専用です。ただし、srcプロパティとlowsrcプロパティだけは例外です。HTMLからImageオブジェクトを生成するときに、srcプロパティを(おそらくlowsrcプロパティも)1回だけ設定するのが普通です。しかし、この2つのプロパティを動的に設定することも可能です。srcプロパティを設定すると、srcプロパティの新しい値で指定された画像、あるいは低解像度のモニター用にlowsrcプロパティを指定した場合はlowsrcプロパティで指定された画像がロードされます。なお、lowsrcプロパティを使用したい場合は、srcプロパティの前にlowsrcプロパティを設定する必要があります。srcプロパティを設定したときに、新しい画像のダウンロードを開始するからです。
JavaScriptコードでImageオブジェクトを動的に生成する場合は、Image()コンストラクタを使用します。このコンストラクタはロードする画像を指定する引数を持ちません。そのため、HTMLで作成した画像のときのように、明示的に生成したImageオブジェクトのsrcプロパティを設定して画像をロードします。WebブラウザにはImageオブジェクトを表示する手段がありません。srcプロパティを設定しても、画像を強制的にダウンロードすることしかできません。しかし、この方法により画像をブラウザのキャッシュに格納されるので便利です。そのあと同じURLをimages[]配列の画像の1つとして指定した場合は、あらかじめロードされているので高速に表示されます。コード例を以下に示します。

 document.images[2].src = preloaded_image.src;
 document.toggle_image.src = toggle_off.src;

使用上のヒントと注意

Imageオブジェクトのsrcプロパティを使用すると、Webページで簡単なアニメーションを実装できます。また、ユーザのページに対する操作によって画像変更するのも名案です。例えば、画像とハイパーテキストリンクを使用して自分専用の「送信」ボタンを作成するとします。このボタンの初期状態を「使用不可」にしておき、ユーザが必要な情報をすべてフォームに入力すると、表示状態を変更してユーザが送信ボタンをクリックしてフォームを送信できるようにもできます。



Image.borderプロパティ ・・・ 画像枠の幅

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.border

解説

Imageオブジェクトのborderプロパティは読み出し専用の整数です。この整数はハイパーテキストリンクの画像の輪郭の幅を示すピクセル数です。このプロパティの値はHTMLの<IMG>タグのBORDER属性で設定します。



Image.completeプロパティ ・・・ 画像ロードが完了しているかどうか

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.complete

解説

Imageオブジェクトのcompleteプロパティは読み出し専用の論理値です。画像のロードが完了したかどうかを示します。もう少し厳密にいうと、ブラウザが画像をロードする処理を完了したかどうかという意味です。ロード中にエラーが発生したりロードが中断されても、completeプロパティの値はtrueです。

関連項目

Image.onabortImage.onerrorImage.onload



Image.heightプロパティ ・・・ 画像の高さ

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.height

解説

Imageオブジェクトのheightプロパティは読み出し専用の整数です。この整数は画像の高さを示します。このプロパティの値はHTMLの<IMG>タグのHEIGHT属性で設定します。
HEIGHTはHTMLの必須属性ではありませんが、この属性を記述するようにすればページのレイアウトにかかる時間を大幅に短縮できます。Navigator 2にはバグがあるので、JavaScriptを使用するページでは、WIDTH属性とHEIGHT属性の両方を指定しなければなりません(ただしNavigator 2ではImageオブジェクトは使えません)。



Image.hspaceプロパティ ・・・ 画像の左右の余白

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.hspace

解説

Imageオブジェクトのhspaceプロパティは読み出し専用の整数です。この整数はブラウザウィンドウに表示される画像の左右の余白を示すピクセル数です。このプロパティの値はHTMLの<IMG>タグのHSPACE属性で設定します。



Image.lowsrcプロパティ ・・・ 低解像度表示用の代替画像

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.lowsrc

解説

Imageオブジェクトのlowsrcプロパティは読み書き可能な文字列です。この文字列は、ユーザが低解像度モニターでブラウザを実行するときに表示する代替画像(通常は小さめの画像)のURLを示します。このプロパティの初期値はHTMLの<IMG>タグのLOWSRC属性で設定します。
このプロパティを設定しても即座に効果が表れるわけではありません。しかし、srcプロパティが設定されて新しい画像がロードされるときに、低解像度システムの場合は、srcの新たに更新された値の代わりに、lowsrcプロパティの現在の値が使用されます。



Image.nameプロパティ ・・・ 画像の名前

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.name

解説

Imageオブジェクトのnameプロパティは読み出し専用の文字列です。このプロパティの初期値はHTMLの<IMG>タグのNAME属性で設定します。Image()コンストラクタで生成したImageオブジェクトには名前がなく、名前を割り当てることもできません。

使用上のヒントと注意

<IMG>タグで生成したImageオブジェクトは、JavaScriptのdocument.images[]配列に格納されます。画像に名前を指定すると、その画像はドキュメントオブジェクトのプロパティ(指定された名前と同じ)にも格納されます。次の例を見てください。

NAME="toggle_button"

このような属性を持つ画像は次の式で参照できます。

document.toggle_button



Image.onabortハンドラ ・・・ ユーザが画像のロードを中止したときに呼び出される

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

<IMG ...onAbort="handler" ...>
image.onabort           

解説

onabortは、ユーザが画像のロードを中止したとき(例えばユーザがStopボタンをクリックしたとき)に呼び出されるイベントハンドラです。このイベントハンドラはHTMLの<IMG>タグのonAbort属性で定義します。この属性の値としてJavaScript文を指定します。HTML属性でイベントハンドラを指定した場合、スコープはウィンドウではなく、その要素になります。
Navigator 4では、引数としてEventオブジェクトがonabortハンドラに渡されます。一方IE 4では引数が渡されるのではなく、elementを含むWindowオブジェクトのeventプロパティとして適切なEventオブジェクトが使えます。



Image.onerrorハンドラ ・・・ 画像のロードでエラーが発生したときに呼び出される

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

<IMG ...onError="handler" ...>
image.onerror           

解説

onerrorは、指定された画像のロード中にエラーが発生したとき(例えばネットワークがダウンしたときや、指定されたURLに画像データが存在しなかったとき)に呼び出されるイベントハンドラです。このイベントハンドラはHTMLの<IMG>タグのonError属性で定義します。HTML属性でイベントハンドラを指定した場合、スコープはウィンドウではなく、その要素になります。
Navigator 4では、引数としてEventオブジェクトがonerrorハンドラに渡されます。一方IE 4では引数が渡されるのではなく、elementを含むWindowオブジェクトのeventプロパティとして適切なEventオブジェクトが使えます。



Image.onloadハンドラ ・・・画像のロードが完了したときに呼び出される

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

<IMG ...onLoad="handler" ...>
image.onload            

解説

onloadは、<IMG>タグで指定された画像のロードをブラウザが完了したときに呼び出されるイベントハンドラです。このイベントハンドラはHTMLの<IMG>タグのonLoad属性で定義します。HTML属性でイベントハンドラを指定した場合、スコープはウィンドウではなく、その要素になります。
Navigator 4では、引数としてEventオブジェクトがonloadハンドラに渡されます。一方IE 4では引数が渡されるのではなく、elementを含むWindowオブジェクトのeventプロパティとして適切なEventオブジェクトが使えます。



Image.srcプロパティ ・・・ 埋め込み画像のURL

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.src

解説

Imageオブジェクトのsrcプロパティは読み書き可能な文字列です。この文字列はブラウザが表示する画像のURLです。このプロパティの初期値は<IMG>HTMLタグのSRC属性で定義します。
新しい画像のURLをこのプロパティに設定すると、ブラウザは指定された画像(低解像度システムの場合はlowsrcプロパティで指定された画像)をロードして表示します。この方法を利用すると、ユーザの振る舞いに応じてWebページの外観を変更したり簡単なアニメーションを実行したりできます。



Image.vspaceプロパティ ・・・ 画像の上下に空ける余白

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.vspace

解説

Imageオブジェクトのvspaceプロパティは読み出し専用の整数です。この整数はブラウザウィンドウで表示する画像の上下に空ける余白のことです。単位はピクセル数です。このプロパティの初期値はHTMLの<IMG>タグのVSPACE属性で定義します。



Image.widthプロパティ ・・・ 画像の幅

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

image.width

解説

Imageオブジェクトのwidthプロパティは読み出し専用の整数です。この整数は画像の幅のことです。単位はピクセル数です。このプロパティの初期値はHTMLの<IMG> タグのWIDTH属性で定義します。
WIDTH属性はHTMLの必須属性ではありませんが、これを利用すると、ページのレイアウトにかかる時間を大幅に減少できます。また、Navigator 2にはバグがあるので、JavaScriptを含むページの画像では、WIDTH属性とHEIGHT属性の両方を指定しなければなりません(ただしNavigator 2ではImageオブジェクトは使えません)。



Infinity定数 ・・・ 無限大を表す定数

対応バージョン

IE 4、ECMA-262(Navigator 4ではサポートされていません)
[監訳者注]JavaScript 1.3からはNavigatorでもサポートされています。

コーディング形式

Infinity

解説

Infinity定数は、正の無限大を表す特殊な定数です。

関連項目

isFinite()NaNNumber.POSITIVE_INFINITY



Inputオブジェクト ・・・ HTMLフォームの入力要素

対応バージョン

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

継承元

HTMLElement

コーディング形式

form.elements[i]
form.name

プロパティ

InputオブジェクトはHTMLElementオブジェクトからプロパティを継承し、次のようなプロパティを定義または上書きしています。

checked読み出しと書き込みが可能な論理値。フォーム要素が「チェック状態」であるか「非チェック状態」であるかという状態を示します。
defaultChecked読み出し専用の論理値。「チェック状態」になり得るフォーム要素のデフォルト値。HTMLタグのCHECKED属性を使って指定します。この値はフォームのリセット時に使用されます。
defaultValue読み出し専用の文字列。フォーム要素のデフォルト値。文字テキストを表示する要素の場合、このプロパティの値が初期表示文字列になり、フォームをリセットするとこの初期値が表示されます。このプロパティはHTMLのVALUE属性に対応します。
form読み出し専用の参照。この要素を保持するFormオブジェクトへの参照です。
lengthSelectフォーム要素の場合は、options[]配列要素内に格納されたオプション(Optionオブジェクトに相当する選択肢)の個数を示します。
name読み出し専用の文字列。HTMLのNAME属性で指定したこの要素の名前を保持します。上記のコーディング形式に示したように、名前で要素を参照することも可能です。
options[]Selectフォーム要素の場合、Selectオブジェクトが表示するオプション(選択肢)に相当するOptionオブジェクトがこの配列に格納されます。配列に格納する要素の個数は、Select要素のlengthプロパティに格納されます。
selectedIndexSelectフォーム要素の場合、Selectオブジェクトが表示するオプションの中で現在どのオプションが選択されているかを整数で示します。JavaScript 1.1の場合、このプロパティは読み出しと書き込みが可能です。JavaScript 1.0の場合は読み出し専用です。
typeフォーム要素の型を示す読み出し専用の文字列プロパティ。Navigator 3、IE 4で利用できます。
value文字列プロパティ。フォームをサーバに送るとき、ここで指定された文字列が送られます。

メソッド

InputオブジェクトはHTMLElementオブジェクトからメソッドを継承し、次のようなメソッドを定義または上書きしています。

blur()
要素からキーボードフォーカスをはずします。
click()
フォーム要素をマウスクリックした場合と同じ動作をします。
focus()
要素にキーボードフォーカスを与えます。
select()
編集可能な文字テキストを保持するフォーム要素の場合、表示している文字テキストを選択状態にします。

イベントハンドラ

InputオブジェクトはHTMLElementオブジェクトからイベントハンドラを継承し、次のようなイベントハンドラを定義または上書きしています。

onblur
ユーザがこの要素からキーボードフォーカスをはずしたときに呼び出されます。
onchange
ボタン以外のフォーム要素の場合、ユーザが新しい値を入力または選択したときに呼び出されます。
onclick
フォーム要素がボタンの場合、ユーザがこのボタンをクリックまたは選択したときに呼び出されます。
onfocus
ユーザがこの要素にキーボードフォーカスを与えたときに呼び出されます。

解説

Form要素はFormオブジェクトのelements[]配列に格納されます。この配列の内容はInputオブジェクトです。Inputオブジェクトとは、フォームの構成要素であるボタンや入力フィールド、その他のコントロールなどのことです。多くの入力要素は、<INPUT>タグで作られます。また、<SELECT>タグと<OPTION>タグを使ったり、<TEXTAREA>タグを使って作成されることもあります。さまざまなフォーム入力要素が、たくさんのプロパティやメソッド、イベントハンドラを共有しています。これらの共有しているメソッドやイベントハンドラについては、この項で解説しています。個々のフォーム要素については、それぞれの要素の項を参照してください。
Inputオブジェクトにはプロパティやメソッド、イベントハンドラなどが多数ありますが、そのすべてが各フォーム要素の型で使えるわけではありません。例えば、Buttonオブジェクトのonclickイベントハンドラは機能しますが、onchangeイベントハンドラは機能しません。逆にTextオブジェクトではonchangeイベントハンドラは機能しますが、onclickイベントハンドラは機能しません。そこで見やすいように、それぞれのフォーム要素ごとに使用できるプロパティの一覧を以下の図にまとめておきます。
一般に、フォーム要素は2つに大別できます。第1はボタンです。具体的には、Button、Checkbox、Radio、Reset、Submitです。これらのボタン要素はonclickイベントハンドラは持ちますが、onchangeイベントハンドラは持ちません。同様に、click()メソッドが使えますが、select()メソッドは使えません。第2は文字テキストを表示する要素です。具体的には、Text、Textarea、Password、FileUploadです。これらの要素はonchangeイベントハンドラを持ちますが、onclickイベントハンドラは持ちません。同様に、select()メソッドは使えますが、click()メソッドは使えません。
Select要素はどちらにも属さない特殊なものです。この要素は<SELECT>タグで作成され、他のフォーム要素と比べると<INPUT>要素に似ていません。技術的にはSelect要素とInputオブジェクトは別のオブジェクト型なのですが、Inputオブジェクトだと考えたほうがわかりやすいでしょう。

バグ情報

残念ながら、フォーム要素の振る舞いは使用するプラットフォームにより違います。X Window Systemを使ったUnixプラットフォームの場合、キーボードから文字テキストを入力するフォーム要素しかキーボードフォーカスに関するメソッドやイベントハンドラが利用できません。そのため、ボタン要素とSelect要素はblur()focus()のメソッドは使えず、onbluronfocusのイベントハンドラが呼び出されることもありません。

関連項目

ButtonCheckboxFileUploadFormHiddenPasswordRadioResetSelectSubmitTextTextarea、16章



Input.blur()メソッド ・・・ フォーム要素からキーボードフォーカスをはずす

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.blur()

解説

フォーム要素のblur()メソッドは、onblurイベントハンドラを呼び出さずに、その要素からキーボードフォーカスをはずします。この逆の操作をするのがfocus()メソッドです。しかしblur()メソッドはキーボードフォーカスをほかの場所へ移さないので、このメソッドを実際に使用するのは、focus()メソッドでキーボードフォーカスをほかの場所へ移す直前で、onblurイベントハンドラを呼び出したくないときに限られます。言い換えると、要素からキーボードフォーカスを明示的にはずすことで、ほかの要素に対してfocus()メソッドを呼び出し、キーボードフォーカスを暗黙に移しても、何の通知もされません。
Hidden以外のフォーム要素はすべてblur()メソッドをサポートします。ただし、すべてのプラットフォームがまったく同じやり方でキーボードフォーカスを移すわけではありません。UnixプラットフォームでNavigator 2や3を使用する場合、blur()メソッドが使えるのは、文字テキストを表示するフォーム要素(Text、Textarea、Password、FileUpload)だけです。



Input.checkedプロパティ ・・・ Checkbox要素またはRadio要素のチェック状態

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.checked

解説

checkedプロパティは読み書きが可能な論理値です。フォーム要素のCheckboxやRadioが現在チェックされているかどうかを示します。このプロパティの値を設定すると、これらのボタン要素の状態を設定できます。このプロパティはCheckboxとRadio以外のフォーム要素では使いません。

関連項目

CheckboxRadio



Input.click()メソッド ・・・ フォーム要素をマウスクリックしたのと同じ動作をする

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.click()

解説

フォーム要素のclick()メソッドはフォーム要素をマウスクリックした場合と同じ動作をしますが、その要素のonclick()イベントハンドラを呼び出しません。
click()メソッドはあまり役立ちません。onclick()イベントハンドラを呼び出さないので、Button要素のclick()メソッドメソッドを呼び出しても意味がありません。Button要素は、onClick()イベントハンドラで定義された振る舞い以外はしないからです。Submit要素やReset要素の click()メソッドを呼び出すと、フォームの送信やリセットが行われますが、この操作にはFormオブジェクトの submit()メソッドやreset()メソッドを直接呼び出したほうがよいでしょう。



Input.defaultCheckedプロパティ ・・・ CheckboxまたはRadio要素のデフォルト状態

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.defaultChecked

解説

defaultCheckedプロパティは読み出し専用の論理値です。Checkbox要素またはRadio要素がデフォルトでチェック済みであるかどうかを示します。このプロパティはほかのフォーム要素には使えません。このプロパティは、<INPUT>タグのCHECKED属性に相当します。CHECKED属性が設定されている場合、defaultCheckedの値はtrueで、それ以外の場合はfalseです。
フォームをリセットしたときに、Checkbox要素またはRadio要素をデフォルト値に戻す場合にdefaultCheckedプロパティを使用します。

関連項目

CheckboxRadio



Input.defaultValueプロパティ ・・・ 要素に表示するデフォルトの文字テキスト

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.defaultValue

解説

フォーム要素のdefaultValueプロパティは、フォーム要素に最初に表示する文字テキストです。フォームをリセットすると、フォームはこの初期値に復元されます。このプロパティはText、Textarea、Password要素だけで使えます。セキュリティの関係でFileUpload要素には使えません。Checkbox要素またはRadio要素の場合はdefaultCheckedプロパティがこれと同じ機能を果たします。

関連項目

PasswordTextTextarea



Input.focus()メソッド ・・・ フォーム要素にキーボードフォーカスを与える

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.focus()

解説

フォーム要素のfocus()メソッドは、onfocusイベントハンドラを呼び出さずに、指定された要素へキーボードフォーカスを移します。つまり、キーボードの操作や入力を受け付けられる状態にします。したがって、Text要素のfocus()メソッドを呼び出すと、ユーザが入力した文字テキストがそのテキスト要素に格納されるようになります。Button要素のfocus()メソッドを呼び出すと、ユーザがキーボードからそのボタンを呼び出せるようになります。
Hidden要素以外のすべてのフォーム要素がfocus()メソッドをサポートします。しかし、必ずしもすべてのプラットフォームでまったく同じキーボード操作がサポートされているわけではありません。UnixプラットフォームでNavigator 2や3を使用する場合、focus()メソッドが使えるのは、文字テキストを表示するフォーム要素(Text、Textarea、Password、FileUpload)だけです。



Input.formプロパティ ・・・ 要素を格納するForm

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.form

解説

フォーム要素のformプロパティは、指定された要素を保持するFormオブジェクトへの参照です。読み出し専用です。
formプロパティを利用すると、あるフォーム要素のイベントハンドラから同じフォームに属する「仲間」の要素へ簡単にアクセスできるようになります。イベントハンドラが呼び出されると、thisキーワードはそのイベントハンドラの対象となるフォーム要素を参照します。したがって、イベントハンドラはその要素を保持するフォームをthis.form式で参照できます。そのあとに名前を指定すれば、仲間の要素を参照できます。あるいはFormオブジェクトのelements[]配列を使用すれば、番号で要素を参照できます。

関連項目

Form



Input.lengthプロパティ ・・・ Select.lengthを参照



Input.nameプロパティ ・・・ フォーム要素の名前

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.name

解説

nameはすべてのフォーム要素のプロパティです。読み出し専用の文字列で、フォーム要素を定義する<INPUT>HTMLタグのNAME属性でこのプロパティの値を設定します。
フォーム要素の名前を使用する場面は2つあります。1つはフォームを送るときです。フォームの各要素のデータは次の形式で送られます。

name=value

ここで、namevalueは送信時に必要に応じてエンコードされます。フォーム要素の名前を指定しなかった場合は、その要素のデータはWebサーバに無意味になります。
nameプロパティのもう1つの使い方は、JavaScriptコード中でフォーム要素を参照するときです。その場合、要素の名前がその要素を保持するフォームのプロパティになります。このプロパティの値はその要素への参照です。例えば、テキスト入力要素の名前がzipで、zipを保持するフォームの名前がaddressの場合は、address.zipでそのテキスト入力要素を参照できます。
フォーム要素がRadioやCheckboxの場合は、関連するオブジェクトが複数あり、それぞれのオブジェクトが同じnameプロパティを共用するのが普通です。その場合、データをサーバに送る形式は次のとおりです。

name=value1,value2,...,valuen

同様にJavaScriptの場合、同じ名前を共用する要素のそれぞれが、その名前の配列の要素になります。したがって、orderフォーム内にある4つのCheckboxオブジェクトが"options"という名前を共用している場合、order.options[]で配列の各要素にアクセスできます。

バグ情報

Navigator 2にはバグがあります。複数のフォーム要素に同じ名前を付けて1つの配列に格納するとき、たとえ何もしないダミーのイベントハンドラであっても、イベントハンドラをすべてのフォーム要素で定義すれば、期待したとおりの順序でそれらのフォーム要素が配列に格納されます。どのフォーム要素もイベントハンドラを定義しなかった場合は、フォーム要素が逆順で配列に格納されます。フォーム要素の中にイベントハンドラを定義したものと定義しなかったものが混在した場合は、どのような順序で格納されるのかは不明です。配列への格納順が重要な場合は、ダミーのイベントハンドラを定義すれば、この問題を回避できます。



Input.onblurハンドラ ・・・ フォーム要素がフォーカスを失ったときに呼び出される

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

<INPUT TYPE=type onBlur="handler">
input.onblur

解説

フォーム要素のonblurイベントハンドラがWebブラウザから呼び出されるのは、ユーザがキーボードフォーカスをそのフォーム要素から離したときです。blur()を呼び出して要素からフォーカスをはずしても、そのオブジェクトのonblurイベントハンドラは呼び出されません。しかし、focus()を呼び出してほかの要素へフォーカスを移すと、現在どの要素がフォーカスを持っているかにかかわらず、onblurイベントハンドラが呼び出されます。
onblurイベントハンドラの初期値は、そのフォーム要素を定義したHTMLタグのonBlur属性で定義されます。この属性の値はJavaScript文の文字列です。JavaScript文が複数あるときはセミコロンで区切ります。HTML属性の中でイベントハンドラが定義された場合は、スコープはウィンドウではなく、そのフォーム要素になります。
Navigator 4では、引数としてEventオブジェクトがonblurハンドラに渡されます。一方IE 4では引数が渡されるのではなく、elementを含むWindowオブジェクトのeventプロパティとして適切なEventオブジェクトが使えます。
onblurイベントハンドラは、Hidden要素を除くすべてのフォーム要素で使用できます。しかし、NavigatorをUnixプラットフォームで使用した場合、onblurイベントハンドラが呼び出されるのは、テキスト入力要素(Text、Textarea、Password、FileUpload)だけに限られます。なお、JavaScript 1.1の場合は、Windowオブジェクトにもonblurイベントハンドラを定義できます。

関連項目

Window.onblur、15章



Input.onchangeハンドラ ・・・ フォーム要素の値が変更されたときに呼び出される

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

 <INPUT TYPE=type onChange="handler">
input.onchange

解説

フォーム要素のonchangeイベントハンドラがWebブラウザに呼び出されるのは、フォーム要素が表示した値をユーザが変更したときです。例えば、Text、Textarea、Password、FileUploadの要素が表示しているテキストが編集されたとき、Select要素が表示したオプションが選択あるいは選択解除されたときです。このイベントハンドラが呼び出されるのはユーザがこのような変更を加えたときであって、JavaScriptプログラムが要素の値を変更しても呼び出されません。
なお、ユーザがテキスト入力フォーム要素に文字を入力したりそこから文字を削除したりするたびに、onchangeイベントハンドラが呼び出されるわけではありません。onchangeは、文字単位で処理するイベントハンドラではありません。ユーザが編集作業を完了したときに、onchangeは呼び出されます。ユーザがキーボードフォーカスをほかの要素へ移したときに、編集作業が完了したと見なされます。例えば、ユーザがフォームの次の要素をクリックしたときです。文字単位の処理については、HTMLElement.onkeypressハンドラを参照してください。
Hidden要素やそのほかのボタン要素がonchangeイベントハンドラを使用することはできません。これらのボタン要素(Button、Checkbox、Radio、Reset、Submit)は、その代わりにonclickイベントハンドラを使用します。
onchangeイベントハンドラは、そのフォーム要素を定義したHTMLタグのonChange属性で設定する関数です。この属性の値はJavaScript文の文字列です。JavaScript文が複数あるときはセミコロンで区切ります。HTML属性の中でイベントハンドラが定義された場合は、フォーム要素が表示した値をユーザが変更したときのみ呼び出されます。
Navigator 4では、引数としてEventオブジェクトがonchangeハンドラに渡されます。一方IE 4では引数が渡されるのではなく、elementを含むWindowオブジェクトのeventプロパティとして適切なEventオブジェクトが使えます。

関連項目

HTMLElement.onkeypress、15章



Input.onclickハンドラ ・・・ フォーム要素がクリックされたときに呼び出される

対応バージョン

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

コーディング形式

 <INPUT TYPE=type onClick="handler">
input.onclick

解説

フォーム要素のonclickイベントハンドラがWebブラウザから呼び出されるのは、ユーザがその要素をクリックしたときです。JavaScriptが要素のclick()メソッドを呼び出してもonclickイベントハンドラが呼び出されないことに注意してください。
onclickイベントハンドラを呼び出させるのは、ボタンのフォーム要素だけです。具体的には、Button、Checkbox、Radio、Reset、Submitです。そのほかの要素は、onclickではなくonchangeイベントハンドラを使用します。
onclickイベントハンドラは、そのフォーム要素を定義したHTMLタグのonClick属性で設定する関数です。この属性の値はJavaScript文の文字列です。JavaScript文が複数あるときはセミコロンで区切ります。HTML属性の中でイベントハンドラが定義された場合は、ユーザがこの要素をクリックしたときのみ呼び出されます。
Navigator 4では、引数としてEventオブジェクトがonclickハンドラに渡されます。一方IE 4では引数が渡されるのではなく、elementを含むWindowオブジェクトのeventプロパティとして適切なEventオブジェクトが使えます。
Reset要素とSubmit要素はクリック時にデフォルトの動作を実行します。自分が属するフォームに対して、Reset要素はリセットを、Submit要素は送信を、それぞれ実行します。個々の要素のonclickイベントハンドラを使ってデフォルト以外の操作を行わせることもできます。JavaScript 1.1の場合は、イベントハンドラがfalseを返すことでデフォルトの操作を抑止することも可能です。Resetボタンのonclickイベントハンドラがfalseを返すと、そのフォームのリセットは実行されません。Submitボタンのonclickイベントハンドラがfalseを返すと、そのフォームの送信は実行されません。Formオブジェクト自身のイベントハンドラonsubmitonresetでも、これと同じことができます。
なお、Linkオブジェクトはonclickイベントハンドラを定義しています。

関連項目

Link.onclick、15章



Input.onfocusハンドラ ・・・ フォーム要素がフォーカスを得たときに呼び出される

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

 <INPUT TYPE=type onFocus="handler">
input.onfocus

解説

フォーム要素のonfocusイベントハンドラが呼び出されるのは、ユーザがキーボードフォーカスをその要素に移したときです。なお、プログラムでfocus()メソッドを呼び出してフォーカスを移しても、onfocusイベントハンドラは呼び出されないことに注意してください。
onfocusイベントハンドラの初期値は、そのフォーム要素を定義したHTMLタグのonFocus属性で定義されます。この属性の値はJavaScript文の文字列です。JavaScript文が複数あるときはセミコロンで区切ります。HTML属性の中でイベントハンドラが定義された場合は、スコープはウインドウではなく、そのフォーム要素になります。
Navigator 4では、引数としてEventオブジェクトがonfocusハンドラに渡されます。一方IE 4では引数が渡されるのではなく、elementを含むWindowオブジェクトのeventプロパティとして適切なEventオブジェクトが使えます。
onfocusイベントハンドラは、Hidden要素を除くすべてのフォーム要素で使用できます。しかし、NavigatorをUnixプラットフォームで使用した場合、onfocus()イベントハンドラが呼び出されるのは、テキスト入力要素(Text、Textarea、Password、FileUpload)だけにかぎられます。なお、JavaScript 1.1の場合は、Windowオブジェクトでもonfocusイベントハンドラが定義できます。

関連項目

Window.onfocus、15章



Input.options[]プロパティ ・・・ Select.options[]を参照



Input.select()メソッド ・・・ フォーム要素のテキストを選択状態にする

対応バージョン

クライアントサイドJavaScript 1.0

コーディング形式

input.select()

解説

select()メソッドを実行すると、Text、Textarea、Password、FileUploadの要素で表示されたテキストを選択状態にします。テキストを選択した効果はプラットフォームによって異なりますが、通常は指定されたTextオブジェクトのすべての文字テキストをユーザがマウスで触れたのと同じ効果になります。主な効果は次のとおりです。
  • 選択されたテキストが反転表示などにより強調表示されます。
  • テキストが選択された状態でユーザが新たに文字を入力すると、元のテキストは削除され、新たに入力された文字に置き換えられます。
  • 選択されたテキストのカット&ペーストが可能です。
  テキストの選択を解除するには、Textオブジェクト内でクリックするか、カーソルをほかの場所へ移します。選択を解除したあとは、元のテキスト全体を置き換えるのではなく、個々の文字を追加したり削除したりすることができます。



Input.selectedIndexプロパティ ・・・ Select.selectedIndexを参照



Input.typeプロパティ ・・・ フォーム要素の型

対応バージョン

クライアントサイドJavaScript 1.1

コーディング形式

input.type

解説

typeはすべてのフォーム要素のプロパティです。このプロパティは、フォーム要素の型を表す読み出し専用の文字列です。このプロパティの値とフォーム要素との対応関係を以下の表にまとめました。
Select要素は、選択肢が1つだけ選択可能か複数選択可能かによって別の型になることに注意してください。typeは、ほかの要素プロパティと異なり、JavaScript 1.0では使えません。

オブジェクトタイプHTMLタグtypeプロパティ
Button<INPUTTYPE=button>"button"
Checkbox<INPUTTYPE=checkbox>"checkbox"
FileUpload<INPUTTYPE=file>"file"
Hidden<INPUTTYPE=hidden>"hidden"
Password<INPUTTYPE=password>"password"
Radio<INPUTTYPE=radio>"radio"
Reset<INPUTTYPE=reset>"reset"
Select<SELECT>"select-one"
Select<SELECTMULTIPLE>"select-multiple"
Submit<INPUTTYPE=submit>"submit"
Text<INPUTTYPE=text>"text"
Textarea<TEXTAREA>"textarea"



Input.valueプロパティ ・・・ フォーム要素が表示/送信する値

対応バージョン

クライアントサイドNavigator 2、IE 3(バグがある)

コーディング形式

input.value

解説

valueはすべてのフォーム要素のプロパティです。読み書きの両方が可能な文字列で、フォーム要素が表示したり、またはフォームの送信時に要素へ送られたりする値のことです。例えば、Text要素のvalueプロパティはユーザが入力した値のことで、この値がフォームと共に送られます。一方、Checkboxのvalueプロパティは表示されませんが、Checkbox要素がチェックされている場合にフォームと共に送られる値のことです。
valueプロパティの初期値は、そのフォーム要素を定義するHTMLタグのVALUE属性で指定します。
ボタンオブジェクト(Button、Reset、Submit)のvalueプロパティは、ボタンの中に表示する文字列のことです。プラットフォームによっては、valueプロパティの値を変更すると、画面に表示されているボタン内の文字テキストが実際に変更される場合もあります。しかしこれはすべてのプラットフォームに当てはまるわけではありません。ボタンのラベルを変更すると、ボタンのサイズの変更によりドキュメントのほかの部分に重なったり見にくくなったりするので、このやり方は勧められません。
Select要素は、ほかのフォーム要素と同じようにvalueプロパティを持ちますが、実際には使用しません。Select要素が送る値は、この要素が保持するOptionオブジェクトのvalueプロパティで指定します。
セキュリティ上の理由から、FileUpload要素のvalueプロパティは読み出し専用です。



isFinite()関数 ・・・ 数値が有限かどうかのチェック

対応バージョン

コアJavaScript 1.2、ECMA-262

コーディング形式

isFinite(n)

引数

n	テストする数字。

リターン値

nが有限の数値であればtrueを返します。nNaN(数値以外)、正の無限大、負の無限大の場合はfalseを返します。

関連項目

InfinityisNaN()NaNNumber.NaNNumber.NEGATIVE_INFINITYNumber.POSITIVE_INFINITY



isNaN()関数 ・・・ 数値以外かどうかのチェック

対応バージョン

コアJavaScript 1.1、ECMA-262

コーディング形式

isNaN(x)

引数

x		テストする値。

リターン値

xが予約値NaN(数値以外)の場合はtrueを返します。xが有効な数値、文字列、そのほかの型の場合はfalseを返します。

解説

isNaN()関数は指定された引数が予約値NaNであるかどうかを調べます。NaNは、ゼロをゼロで除算した結果のような無効な数値のことです。この関数が必要なのは、NaNは自分自身をはじめ、任意の値と比較した結果が常にfalseになるからです。したがって、==演算子を使ってNaNであるかどうかを調べることはできません。
通常、isNaN()関数は、parseFloat()parseInt()の結果が無効な数値になっていないかどうかを調べるときに使用します。そのほか、ゼロ除算などの演算エラーがないかどうかを調べることもできます。

関連項目

isFinite()NaNNumber.NaNparseFloat()parseInt()



トップページに戻る