radioボタンで指定した内容を別ウンドウへ表示(2)

1年A 機械製図T
1年B 基礎情報処理T
2年1,2 機械力学T
2年3
3年AB 工業科教育法T
4年AB

1年A
1年B 機械電子工学実験T
2年1
2年2,3 材料力学T
3年AB 工業材料

1年AB 体育・スポーツA
2年1,2
2年3 工業数学A
3年AB 木材加工
4年AB 木材加工

1年A 機械製図T
1年B コンピュータ援用工学T
2年1 シーケンス制御と論理回路
2年2 電子回路
2年3 機械力学T
3年AB 設計工学T
4年AB



下記メールが、January 21, 2004 8:47 AM  Tさんから来たので前項目の改善版。

> あと自分がやりたいと思うのは選択した教科の教科書名を別のウィンドで表示させる
> ことまでは出来ましたが > 同じ教科書名があった場合は片方を表示しないといったようなスクリプト・・・

> 講義では「ランダムで出題させる計算問題をダブらせないようにする」というのはあ
> りましたがそれとはまた勝手が違うそうなので相談しました。

>ヒントが貰えるとうれしく思います。どうかよろしくお願いします。
<返信>
前のメールで大体完成したようですね。

データの比較や表示は配列に入れれば簡単なので、配列を使用したサンプルを掲載します。
また、抽出したデータの新ウインドウ側の取り込みは、エレメントの番号を指定する方式
にするとスクリプトがすっきりするので、データが多い場合はこのサンプルのように配列使用がよい。
なお本例ではelements[0]でテキストボックスがフォームの最初にある事が前提となります。
下記が新ウインドウ側のhtmlファイルのソースです

<HTML><HEAD>
<meta http-equiv='Content-Type' content='text/html; charset=Shift_JIS'>
<TITLE>表示</TITLE>
<SCRIPT language=JavaScript>
<!--
function engine()
{

// データ取得
dat=new Array()
for (i=0;4>i;i++){
	dat[i] = window.opener.document.forms[i].elements[0].value;
}

// 同一データ削除
for (i=0;dat.length>i;i++){
        for(j=i+1;26>j;j++){
		if(dat[i] ==dat[j]){
                	dat[j]="";
		}
	}
}

// Webへ表示
document.write("<font color=#ff00ff><b>下記に教科書名を表示します。</b></font>")

for (i=0;dat.length>i;i++){
	if(dat[i] !=""){
                document.write("<br><br>\n");
		document.write(dat[i]);
	}
}
document.write("<br><br><hr>\n");
document.write("<form>");
document.write("<INPUT onclick='window.close()' type=button value='閉じる'>");
document.write("</form>");


}
//-->
</SCRIPT>

<BODY onload=engine()>
</BODY></HTML>



【HOME】  【実用編へ戻る】