|
「相性診断」のプログラム(JavaScriptを記述する) 「画面作り」で制作したHTMLの中に、JavaScriptを記入して行きます。 赤色の部分がJavaScriptで記入した部分です。 緑色の部分はコメントですので、記入する必要はありません。
スクリプト解説 「相性診断」は、「占い」のスクリプトを利用して制作します。 診断結果が長いので、テキストボックスではなく、テキストエリアを利用します。 (テキストエリアにメッセージを表示) (説明1) まず最初に、テキストエリアにメッセージを表示できるように準備します。 (テキストエリアにメッセージを表示) <FORM>タグにmyformという名前を、<TEXTAREA>タグにmyareaという名前をつけます。 (説明2) セレクトボックスを使用できるように準備します。セレクトボックスが2つあるので、それぞれについて設定が必要です。 (セレクトボックス) まずは男性のセレクトボックスの準備をします。 男性の血液型を選択する<SELECT>タグにblood1という名前をつけます。 次に、選択肢ごとの値を決めておく為、<OPTION>タグにvalueで値をつけます。 これで、x=myform.blood1.valueを実行すると、xの値がセレクトボックスで選択したvalue値になります。 女性のセレクトボックスも同様に準備をします。 ここでは、<SELECT>タグにblood2という名前をつけています。この名前は、男性用と同じにならないように注意して下さい。 次に、選択肢ごとの値を決めておく為、<OPTION>タグにvalueで値をつけます。 これで、y=myform.blood2.valueを実行すると、yの値がセレクトボックスで選択したvalue値になります。 (説明3) 「占う」というボタンを押すと、onclick属性によりhantei()関数がよびだされます。 (マウスによる処理) (説明4) x=document.myform.blood1.value; y=document.myform.blood2.value; というスクリプトにより、x、yに選択した選択肢のvalue値がそれぞれ入ります。但し、このx、yの値は文字列の形式なので、正しく計算するために、数値として認識させる必要があります。 u=eval(x); v=eval(y); というスクリプトにより、x、yを数値として認識させ、それぞれu、vとします。 (文字列を数値として認識させる eval) (説明5) kekka=(u+v)%3; というスクリプトは、uとvを加算し、3で割った余りを、変数kekkaに代入しなさいという意味です。 u=1、v=2の場合なら(1+2)/3=1余り0となるので、kekka=0になります。 (説明6) 条件式(if文)を用いて、kekkaの値によって異なった処理をさせます。(条件式if文) kekka=0ならば、 if(kekka==0){msg=" 相性は最高!\n BESTカップル。";} を実行します。 ここで、\nは改行しなさいという意味です。 (説明7) myform.myarea.value=msg; というのは、テキストエリアに変数msgの値を表示しなさい、ということです。 (テキストエリアにメッセージを表示) msgの値は、説明6のif文で選択されたものです。 msgの途中で\nとあり改行しているので、結果は2行で表示されます。 |