新JavaScript入門  JavaScript,Neo-Generation  DOM  WSH  掲示板  表紙
2.値と変数  4.値と変数 
新JavaScript入門
3. GUI部品
ここでは HTML ドキュメント上の GUI 部品についての一般的なことについて述べます。 個々のオブジェクトについては、
Button, Text, Select, Radio, Checkbox, Hidden
をご覧ください。
貼り付け方
今回は、ボタンとかテキストボックスといった、 初めからブラウザに用意されているGUIの部品の一般的な扱い方を学びます。
これらをページに貼り付けるには次のように書きます。
    <BODY>
        ...
    <FORM>
      <INPUT TYPE=objecttype
             NAME=objectname
             VALUE=objectvalue
             ONCLICK=expression
      >
        ...
    </FORM>
        ...
    </BODY>
 
TYPE="objecttype" で、オブジェクトのタイプを指定します。 例えば、 objecttypebutton とすればボタンに、 text とすればテキストボックスになります。 INPUT タグのその他のオプションは本当のオプションで、無くてもかまいません。 また、他にもオプションはあります。それらはオブジェクトのタイプに依りますが、 それらはおいおい説明していきます。
特に、ONCLICK などのイベントが起きたときに処理する命令を指定するオプションは、
    ONCLICK="test()"
 
などとして、JavaScript などのスクリプトを走らせることができます。
NAMEプロパティ
オブジェクトは名前を付けることによって、 JavaScript から直接アクセスすることができます。
    document.formname.objectname
 
例えば、次のようになります。
    <HTML><HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    function hanyaan() {
        //テキストボックスに文字列を入れる
        document.frmhanyaan.txthanyaan.value = "はにゃ〜〜〜ん";
    }
    </SCRIPT>
    </HEAD>
    <BODY>
        ...
    <FORM NAME="frmhanyaan">
    <INPUT TYPE="button" VALUE="押してね☆" ONCLICK="hanyaan()"> 
    <INPUT TYPE="text" NAME="txthanyaan" VALUE="" SIZE=20>
    </FORM>
        ...
    </BODY></HTML>
 

上のボタンを押すとONCLICKで指定されたJavaScriptのサブルーチンhanyaanが動いて、 frmhanyaanという名前のフォームのtxthanyaanという名前のテキストボックスの値が "はにゃ〜〜〜ん" になります。
この他にもオブジェクトへのアクセス方法は色々あります (1. オブジェクトの参照(1))。
    document.forms["frmhanyaan"].elements["txthanyaan"].value
                                            = "はにゃ〜〜〜ん";
    document.forms[0].elements[1].value = "はにゃ〜〜〜ん";
 
もっとも、普通はフォームは直接名前で指定せずに、 次のようにオブジェクトを参照することが多いようです。
    <HTML><HEAD>
    <SCRIPT LANGUAGE="JavaScript">
    function hanyaan(form) {
        //テキストボックスに文字列を入れる
        form.txthanyaan.value = "はにゃ〜〜〜ん";
    }
    </SCRIPT>
    </HEAD>
    <BODY>
        ...
    <FORM NAME="frmhanyaan">
    <INPUT TYPE="button" VALUE="押してね☆"
                         ONCLICK="hanyaan(this.form)"> 
    <INPUT TYPE="text" NAME="txthanyaan" SIZE=20>
    </FORM>
        ...
    </BODY></HTML>
 
hanyaanの引数の this.form の this は、 自分自身(ここでは、そのボタン)を参照しています。 this.form で自分の所属するフォームを参照していてこれが引数になります。
ページがロードされたときに実行するスクリプト、 あるいは他のフォームを制御するスクリプトで直接名前を指定しましょう。
Written 9/27/97
Modified 3/26/03
first, prev, next, exit