静岡理工科大学 | 菅沼ホーム | JavaScript目次 | 索引 |
フォームの例
001 <!DOCTYPE HTML> 002 <HTML> 003 <HEAD> 004 <TITLE>フォームの例</TITLE> 005 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 006 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../master.css"> 007 <SCRIPT TYPE="text/javascript"> 008 function soshin1(form) 009 { 010 let w = window.open("", "送信されたデータ"); 011 w.document.open(); 012 w.document.write('<HTML>\n'); 013 w.document.write('<HEAD>\n'); 014 w.document.write(' <TITLE>表示結果</TITLE>\n'); 015 w.document.write(' <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">\n'); 016 w.document.write(' <LINK REL="stylesheet" TYPE="text/css" HREF="../../../master.css">\n'); 017 w.document.write('</HEAD>\n'); 018 w.document.write('<BODY CLASS="white">\n'); 019 // 名前 020 form.elements[0].value = "山田 太郎"; 021 w.document.write(form.elements[0].value + '<BR>'); 022 // 性別 023 form.elements[1].click(); 024 w.document.write(form.elements[1].checked + '<BR>'); 025 w.document.write(form.elements[2].checked + '<BR>'); 026 // 好きな野菜 027 form.elements[3].click(); 028 form.elements[5].click(); 029 form.elements[6].click(); 030 w.document.write(form.elements[3].checked + '<BR>'); 031 w.document.write(form.elements[4].checked + '<BR>'); 032 w.document.write(form.elements[5].checked + '<BR>'); 033 w.document.write(form.elements[6].checked + '<BR>'); 034 // 好きな果物 035 w.document.write(form.elements[7].options[0].selected + '<BR>'); 036 w.document.write(form.elements[7].options[1].selected + '<BR>'); 037 w.document.write(form.elements[7].options[2].selected + '<BR>'); 038 w.document.write('</BODY>\n'); 039 w.document.write('</HTML>\n'); 040 } 041 042 function soshin2(form) 043 { 044 let w = window.open("", "送信されたデータ"); 045 w.document.open(); 046 w.document.write('<HTML>\n'); 047 w.document.write('<HEAD>\n'); 048 w.document.write(' <TITLE>表示結果</TITLE>\n'); 049 w.document.write(' <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">\n'); 050 w.document.write(' <LINK REL="stylesheet" TYPE="text/css" HREF="../../../master.css">\n'); 051 w.document.write('</HEAD>\n'); 052 w.document.write('<BODY CLASS="white">\n'); 053 // 名前 054 form.name.value = "鈴木 花子"; 055 w.document.write(form.name.value + '<BR>'); 056 // 性別 057 form.elements[2].click(); 058 w.document.write(form.elements[1].checked + '<BR>'); 059 w.document.write(form.elements[2].checked + '<BR>'); 060 // 好きな野菜 061 form.v1.click(); 062 form.v3.click(); 063 form.elements[6].click(); 064 w.document.write(form.v1.checked + '<BR>'); 065 w.document.write(form.elements[4].checked + '<BR>'); 066 w.document.write(form.v3.checked + '<BR>'); 067 w.document.write(form.elements[6].checked + '<BR>'); 068 // 好きな果物 069 w.document.write(form.list.options[0].selected + '<BR>'); 070 w.document.write(form.list.options[1].selected + '<BR>'); 071 w.document.write(form.list.options[2].selected + '<BR>'); 072 w.document.write('</BODY>\n'); 073 w.document.write('</HTML>\n'); 074 } 075 </SCRIPT> 076 </HEAD> 077 <BODY CLASS="white"> 078 <H1 CLASS="center">フォームの例</H1> 079 <FORM> 080 <LABEL>名前: </LABEL> 081 <INPUT TYPE="text" NAME="name" STYLE="font-size: 100%"><BR> 082 性別:<BR> 083 <INPUT TYPE="radio" NAME="sex" VALUE="Male"> 男性<BR> 084 <INPUT TYPE="radio" NAME="sex" VALUE="Female"> 女性<BR> 085 好きな野菜:<BR> 086 <INPUT TYPE="checkbox" NAME="v1" VALUE="n1"> キャベツ<BR> 087 <INPUT TYPE="checkbox"> 大根<BR> 088 <INPUT TYPE="checkbox" NAME="v3"> ジャガイモ<BR> 089 <INPUT TYPE="checkbox"> トマト<BR> 090 好きな果物:<BR> 091 <SELECT MULTIPLE SIZE="3" NAME="list" STYLE="font-size: 100%"> 092 <OPTION VALUE="f1"> 蜜柑 </OPTION><BR> 093 <OPTION> 林檎 </OPTION><BR> 094 <OPTION> 葡萄 </OPTION><BR> 095 </SELECT> 096 <P CLASS="center"> 097 <INPUT TYPE="button" STYLE="font-size: 100%" VALUE="送信1" onClick="soshin1(this.form)"> 098 <INPUT TYPE="button" STYLE="font-size: 100%" VALUE="送信2" onClick="soshin2(this.form)"> 099 <INPUT TYPE="reset" STYLE="font-size: 100%" VALUE="リセット"> 100 </P> 101 </FORM> 102 </BODY> 103 </HTML>
演習問題の解答(チェック)
01 <!DOCTYPE HTML> 02 <HTML> 03 <HEAD> 04 <TITLE>入力されたか否かのチェック </TITLE> 05 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../master.css"> 07 <SCRIPT TYPE="text/javascript"> 08 function check(form) { 09 if(form.ans.value =="") { 10 alert("答えを入力してください"); // ダイアログの表示 11 return false; 12 } 13 if(form.name.value =="") { 14 alert("名前を入力してください"); // ダイアログの表示 15 return false; 16 } 17 } 18 </SCRIPT> 19 </HEAD> 20 <BODY CLASS="white"> 21 <H3 STYLE="text-align:center">次の問題の答えは?</H3> 22 <FORM ACTION="test_c.cgi" METHOD="post" ENCTYPE="text/plain"> 23 <P STYLE="text-align:center"> 24 3 + 4 = <INPUT TYPE="text" NAME="ans" STYLE="font-size:90%"><BR><BR> 25 名前:<INPUT TYPE="text" NAME="name" STYLE="font-size:90%"> 26 <INPUT TYPE="submit" VALUE="送信" onClick="return check(this.form)" STYLE="font-size:90%"><BR> 27 <INPUT TYPE="hidden" NAME="a" VALUE="3"> 28 <INPUT TYPE="hidden" NAME="b" VALUE="4"> 29 </P> 30 </FORM> 31 </BODY> 32 </HTML>
C/C++ で記述した CGI プログラム
#include <stdio.h> #include <stdlib.h> #include <string.h> int URLdecode(char* Data, int len) { int i, j, sw = 0; char Buf,*Tmp; if(len == 0) sw = -1; else { Tmp = new char [len]; for(i = 0,j = 0; i < len; i++,j++) { if(Data[i] == '+') Tmp[j] = ' '; else { if(Data[i] != '%') Tmp[j] = Data[i]; else { if (Data[++i] >= 'A') Buf = Data[i] - 'A' + 10; else Buf = Data[i] - '0'; Buf *= 16; if (Data[++i] >= 'A') Buf += Data[i] - 'A' + 10; else Buf += Data[i] - '0'; Tmp[j] = Buf; } } } for(i = 0; i < j; i++) Data[i] = Tmp[i]; Data[i] = '\0'; delete [] Tmp; } return sw; } int main() { int a, b, c; char in[100], ans[100], name[100], p1[100], p2[100], *str, *pos; printf("Content-type: text/html\n\n"); printf("<HTML>\n"); printf("<HEAD>\n"); printf(" <TITLE>答えのチェック</TITLE>\n"); printf(" <META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=utf-8\">\n"); printf(" <LINK REL=\"stylesheet\" TYPE=\"text/css\" HREF=\"../../../master.css\">\n"); printf(" <SCRIPT TYPE=\"text/javascript\">\n"); printf(" function check(form) {\n"); printf(" if(form.ans.value ==\"\") {\n"); printf(" alert(\"答えを入力してください\");\n"); printf(" return false;\n"); printf(" }\n"); printf(" if(form.name.value ==\"\") {\n"); printf(" alert(\"名前を入力してください\");\n"); printf(" return false;\n"); printf(" }\n"); printf(" }\n"); printf(" </SCRIPT>\n"); printf("</HEAD>\n"); printf("<BODY CLASS=\"white\">\n"); scanf("%s", in); if (strstr(in,"&") != NULL) { str = &in[0]; pos = strtok(str, "&\r\n"); strcpy(ans, pos); URLdecode(ans, strlen(ans)); str = NULL; pos = strtok(str, "&\r\n"); strcpy(name, pos); URLdecode(name, strlen(name)); str = NULL; pos = strtok(str, "&\r\n"); strcpy(p1, pos); URLdecode(p1, strlen(p1)); str = NULL; pos = strtok(str, "&\r\n"); URLdecode(p2, strlen(p2)); strcpy(p2, pos); str = NULL; } else { strcpy(ans, in); scanf("%s", name); scanf("%s", p1); scanf("%s", p2); } a = atoi(&p1[2]); b = atoi(&p2[2]); c = atoi(&ans[4]); if (a+b == c) { printf(" <H3 STYLE=\"text-align:center\">%s さん,正解です!</H3>\n", &name[5]); printf(" <H3 STYLE=\"text-align:center\">続いて,次の問題の答えは?</H3>\n"); srand(c); a = (int)(100.0 * (double)rand() / RAND_MAX); b = (int)(100.0 * (double)rand() / RAND_MAX); } else { printf(" <H3 STYLE=\"text-align:center\">%s さん,間違っています!</H3>\n", &name[5]); printf(" <H3 STYLE=\"text-align:center\">もう一度計算してみて下さい</H3>\n"); } printf(" <FORM ACTION=\"test_c.cgi\" METHOD=\"post\" ENCTYPE=\"text/plain\">\n"); printf(" <P STYLE=\"text-align:center\">\n"); printf(" %d + %d = <INPUT TYPE=\"text\" NAME=\"ans\" STYLE=\"font-size:90%%\"><BR><BR>\n", a, b); printf(" 名前:<INPUT TYPE=\"text\" NAME=\"name\" STYLE=\"font-size:90%%\"> \n"); printf(" <INPUT TYPE=\"submit\" VALUE=\"送信\" onClick=\"return check(this.form)\" STYLE=\"font-size:90%%\"><BR>\n"); printf(" <INPUT TYPE=\"hidden\" NAME=\"a\" VALUE=\"%d\">\n", a); printf(" <INPUT TYPE=\"hidden\" NAME=\"b\" VALUE=\"%d\">\n", b); printf(" </P>\n"); printf(" </FORM>\n"); printf("</BODY>\n"); printf("</HTML>\n"); return 0; }
送信内容の確認
01 <!DOCTYPE HTML> 02 <HTML> 03 <HEAD> 04 <TITLE>送信内容の確認</TITLE> 05 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../master.css"> 07 <SCRIPT TYPE="text/javascript"> 08 sw1 = 0; 09 sw2 = 0; 10 sw3 = 0; 11 function sel(sw) { 12 if (sw == 1) 13 sw1 = 1; 14 else if (sw == 2) 15 sw2 = 1; 16 else 17 sw3 = 1; 18 } 19 function check(form) { 20 if (sw1 == 0) { 21 alert("性別を選択してください"); 22 return false; 23 } 24 else if (sw2 == 0) { 25 alert("好きな野菜を選択してください"); 26 return false; 27 } 28 else if (sw3 == 0) { 29 alert("好きな果物を選択してください"); 30 return false; 31 } 32 else if(form.name.value =="") { 33 alert("名前を入力してください"); 34 return false; 35 } 36 else { 37 let str = "名前: "+form.name.value+"\n"; 38 if (form.elements[1].checked) 39 str += "性別: 男性\n"; 40 else 41 str += "性別: 女性\n"; 42 str += "好きな野菜:"; 43 if (form.c1.checked) 44 str += " キャベツ"; 45 if (form.c2.checked) 46 str += " 大根"; 47 if (form.c3.checked) 48 str += " ジャガイモ"; 49 if (form.c4.checked) 50 str += " トマト"; 51 str += "\n"; 52 str += "好きな果物:"; 53 if (form.list.options[0].selected) 54 str += " 蜜柑"; 55 else if (form.list.options[1].selected) 56 str += " 林檎"; 57 else 58 str += " 葡萄"; 59 let result = confirm(str); 60 if (result == true) 61 return true; 62 else 63 return false; 64 } 65 } 66 </SCRIPT> 67 </HEAD> 68 <BODY CLASS="white"> 69 <H1 STYLE="text-align: center">送信内容の確認</H1> 70 <FORM ACTION="radio.php" METHOD="post"> 71 <DL> 72 <DT>名前: <INPUT TYPE="text" NAME="name" STYLE="font-size:90%"> 73 <DT>性別: 74 <DD><INPUT TYPE="radio" NAME="sex" VALUE="Male" onClick="sel(1)">男性 75 <DD><INPUT TYPE="radio" NAME="sex" VALUE="Female" onClick="sel(1)">女性 76 <DT>好きな野菜: 77 <DD><INPUT TYPE="checkbox" NAME="c1" onClick="sel(2)">キャベツ 78 <DD><INPUT TYPE="checkbox" NAME="c2" onClick="sel(2)">大根 79 <DD><INPUT TYPE="checkbox" NAME="c3" onClick="sel(2)">ジャガイモ 80 <DD><INPUT TYPE="checkbox" NAME="c4" onClick="sel(2)">トマト 81 <DT>好きな果物: 82 <DD><SELECT NAME="list" onClick="sel(3)" STYLE="font-size:90%"> 83 <OPTION VALUE="s1">蜜柑</OPTION> 84 <OPTION VALUE="s2">林檎</OPTION> 85 <OPTION VALUE="s3">葡萄</OPTION> 86 </SELECT> 87 </DL> 88 <P STYLE="text-align: center"><INPUT TYPE="submit" VALUE="送信" onClick="return check(this.form)" STYLE="font-size:90%"></P> 89 </FORM> 90 </BODY> 91 </HTML>
<!DOCTYPE HTML> <HTML> <HEAD> <TITLE>ラジオボタン,チェックボックス,ドロップダウンリスト</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../master.css"> </HEAD> <BODY CLASS="white"> <H1 STYLE="text-align: center">送信されたデータ</H1> <?php printf(" 名前: %s<BR>\n", $_POST['name']); printf(" 性別: %s<BR>\n", $_POST['sex']); printf(" 好きな野菜 c1 : %s<BR>\n", $_POST['c1']); printf(" 好きな野菜 c2 : %s<BR>\n", $_POST['c2']); printf(" 好きな野菜 c3 : %s<BR>\n", $_POST['c3']); printf(" 好きな野菜 c4 : %s<BR>\n", $_POST['c4']); printf(" 好きな果物: %s<BR>\n", $_POST['list']); ?> </BODY> </HTML>
<A HREF="form/para.htm?par1=10&par2=abc">
para.htm
<!DOCTYPE HTML> <HTML> <HEAD> <TITLE>データの受け渡し</TITLE> <LINK REL="stylesheet" TYPE="text/css" HREF="../../master.css"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <SCRIPT TYPE="text/javascript"> function GetParameter() { let result = new Array(); if(1 < window.location.search.length) { // 最初の1文字 (?記号) を除いた文字列を取得する let str = window.location.search.substring(1); // 区切り記号 (&) で文字列を配列に分割する let param = str.split('&'); for(var i1 = 0; i1 < param.length; i1++ ) { // パラメータ名とパラメータ値に分割する let element = param[i1].split('='); let Name = decodeURIComponent(element[0]); let Value = decodeURIComponent(element[1]); // パラメータ名をキーとして連想配列に追加する result[Name] = Value; } } return result; } </SCRIPT> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">送信されたデータ</H1> <SCRIPT TYPE="text/javascript"> let result = GetParameter(); document.write(result['par1'] + "<BR>"); document.write(result['par2'] + "<BR>"); </SCRIPT> </BODY> </HTML>
(書き込み) <!DOCTYPE HTML> <HEAD> <TITLE>cookie への書き込み( JavaScript )</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">cookie への書き込み( JavaScript )</H1> <SCRIPT TYPE="text/javascript"> document.cookie = "article=data1:data2(JavaScript); path=/~suganuma/home/web_design/JavaScript/cookie/method/"; </SCRIPT> </BODY> </HTML> (読み込み) <!DOCTYPE HTML> <HEAD> <TITLE>cookie の読み込み( JavaScript )</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">cookie の読み込み( JavaScript )</H1> <SCRIPT TYPE="text/javascript"> alert(document.cookie); </SCRIPT> </BODY> </HTML>
(書き込み) <!DOCTYPE HTML> <HEAD> <TITLE>cookie への書き込み( meta )</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> <!-- cookie への書き込み --> <META HTTP-EQUIV="Set-Cookie" CONTENT="article=data1:data2(meta); path=/~suganuma/home/web_design/JavaScript/cookie/method/"> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">cookie への書き込み( meta )</H1> </BODY> </HTML> (読み込み) <!DOCTYPE HTML> <HEAD> <TITLE>cookie の読み込み( JavaScript )</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">cookie の読み込み( JavaScript )</H1> <SCRIPT TYPE="text/javascript"> alert(document.cookie); </SCRIPT> </BODY> </HTML>
(書き込み) // HTML <!DOCTYPE HTML> <HEAD> <TITLE>cookie への書き込み( CGI(C++) )</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">cookie への書き込み( CGI(C++) )</H1> <FORM ACTION="cookie_wc.cgi" METHOD="post" ENCTYPE="text/plain"> <P CLASS="center"> <INPUT TYPE="submit" VALUE="送信" STYLE="font-size: 90%"> </P> </FORM> </BODY> </HTML> // cookie_wc.cgi #include <stdio.h> int main() { printf("Content-type: text/html\n"); printf("Set-Cookie: article=data1:data2(C++); path=/~suganuma/home/web_design/JavaScript/cookie/method/\n\n"); printf("<html><head><title>CGI(C++)</title></head><body>\n"); printf("<h1 style=\"text-align: center\">CGI(C++)</h1>\n"); printf("</body></html>\n"); return 0; } (読み込み) // HTML <!DOCTYPE HTML> <HEAD> <TITLE>cookie の読み込み( CGI(C++) )</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">cookie の読み込み( CGI(C++) )</H1> <FORM ACTION="cookie_rc.cgi" METHOD="post" ENCTYPE="text/plain"> <P CLASS="center"> <INPUT TYPE="submit" VALUE="送信" STYLE="font-size: 90%"> </P> </FORM> </BODY> </HTML> // cookie_rc.cgi #include <stdio.h> int main(int argc, char *argv[], char *envp[]) { int i1 = 0; printf("Content-type: text/html\n\n"); printf("<html><head><title>CGI(C++)</title></head><body>\n"); printf("<h1 style=\"text-align: center\">CGI(C++)</h1><dl>\n"); while (envp[i1] != NULL) { printf("<dt>%d %s\n", i1+1, envp[i1]); i1++; } printf("</dl></body></html>\n"); return 0; }
(書き込み) <?php setcookie("test", "article=data1:data2(PHP)", 0, "/~suganuma/home/web_design/JavaScript/cookie/method/"); ?> <!DOCTYPE HTML> <HEAD> <TITLE>cookie への書き込み( PHP )</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">cookie への書き込み( PHP )</H1> </BODY> </HTML> (読み込み) <!DOCTYPE HTML> <HEAD> <TITLE>cookie の読み込み( PHP )</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> </HEAD> <BODY CLASS="white"> <H1 CLASS="center">cookie の読み込み( PHP )</H1> <?php print_r($_COOKIE); ?> </BODY> </HTML>
article=商品数:型番:商品名:価格:購入数:・・・
article.html:商品の選択
01 <!DOCTYPE HTML> 02 <HEAD> 03 <TITLE>商品一覧</TITLE> 04 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 05 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 06 <SCRIPT SRC="control.js" TYPE="text/javascript"></SCRIPT> 07 </HEAD> 08 <BODY CLASS="white" STYLE="text-align: center"> 09 <TABLE STYLE="margin-left: auto; margin-right: auto"> 10 <TR> 11 <TD> 12 <DIV STYLE="width: 350px; margin-left: auto; margin-right: auto"> 13 <H2>商品001</H2> 14 <IMG SRC="cat01-001.jpg" WIDTH="300"> 15 <FORM> 16 <TABLE STYLE="text-align: left; margin-left: auto; margin-right: auto"> 17 <TR> 18 <TH>型番</TH> 19 <TD>001-01<INPUT TYPE="hidden" NAME="type" VALUE="001-01"></TD> 20 </TR> 21 <TR> 22 <TH>商品名</TH> 23 <TD>商品001<INPUT TYPE="hidden" NAME="name" VALUE="商品001"></TD> 24 </TR> 25 <TR> 26 <TH>定価</TH> 27 <TD>2,800円(税込)</TD> 28 </TR> 29 <TR> 30 <TH>販売価格</TH> 31 <TD CLASS="osusumeprice">2,800円(税込)<INPUT TYPE="hidden" NAME="price" VALUE="2800"></TD> 32 </TR> 33 <TR> 34 <TH>購入数</TH> 35 <TD STYLE="padding: 0px 5px;"><INPUT TYPE="text" NAME="num" VALUE="1" STYLE="width: 50px;"></TD> 36 </TR> 37 </TABLE> 38 <BR> 39 <INPUT onClick="return cart_in(this.form)" TYPE="image" VALUE="カートに入れる" SRC="cartin.gif" ALT="かごに入れる" WIDTH="115" HEIGHT="25"> 40 </FORM> 41 </DIV> 42 </TD> 43 <TD> 44 <DIV STYLE="width: 350px; margin-left: auto; margin-right: auto"> 45 <H2>商品002</H2> 46 <IMG SRC="cat01-002.jpg" WIDTH="300"> 47 <FORM> 48 <TABLE STYLE="text-align: left; margin-left: auto; margin-right: auto"> 49 <TR> 50 <TH>型番</TH> 51 <TD>001-02<INPUT TYPE="hidden" NAME="type" VALUE="001-02"></TD> 52 </TR> 53 <TR> 54 <TH>商品名</TH> 55 <TD>商品002<INPUT TYPE="hidden" name="name" VALUE="商品002"></TD> 56 </TR> 57 <TR> 58 <TH>定価</TH> 59 <TD>4,200円(税込)</TD> 60 </TR> 61 <TR> 62 <TH>販売価格</TH> 63 <TD CLASS="osusumeprice">4,200円(税込)<INPUT TYPE="hidden" NAME="price" VALUE="4200"></TD> 64 </TR> 65 <TR> 66 <TH>購入数</TH> 67 <TD STYLE="padding: 0px 5px;"><INPUT TYPE="text" NAME="num" VALUE="1" STYLE="width: 50px;"></TD> 68 </TR> 69 </TABLE> 70 <BR> 71 <INPUT onClick="return cart_in(this.form)" TYPE="image" VALUE="カートに入れる" SRC="cartin.gif" ALT="かごに入れる" WIDTH="115" HEIGHT="25"> 72 </FORM> 73 </DIV> 74 </TD> 75 </TR> 76 </TABLE> 77 <BR> 78 <DIV><A HREF="cart.html">買い物カゴを見る</A></DIV> 79 </BODY> 80 </HTML>
cart.html:買い物カゴの中身の表示
01 <!DOCTYPE HTML> 02 <HEAD> 03 <TITLE>買い物カゴ</TITLE> 04 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 05 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 06 <SCRIPT SRC="control.js" TYPE="text/javascript"></SCRIPT> 07 </HEAD> 08 <BODY CLASS="white"> 09 <H2 CLASS="center">買い物カゴ</H2> 10 <SCRIPT TYPE="text/javascript"> 11 cart_content(); // 買い物カゴの中身を表形式で表示する関数 12 </SCRIPT> 13 </BODY> 14 </HTML>
control.js:使用されている JavaScript の関数
001 n_get = 0; // 商品数 002 type = new Array(); // 型番 003 p_name = new Array(); // 商品名 004 num = new Array(); // 購入数 005 price = new Array(); // 価格 006 sum = new Array(); // 価格 * 購入数 007 008 /**************************/ 009 /* カゴへ入れた内容の確認 */ 010 /**************************/ 011 function cart_in(form) 012 { 013 let str = "型番: " + form.type.value + "\n" + 014 "商品名: " + form.name.value + "\n" + 015 "価格: " + form.price.value + " 円\n" + 016 "購入数: " + form.num.value + "\nよろしいですか?"; 017 if (!confirm(str)) 018 return false; 019 else 020 cookie_change(form.type.value, form.name.value, form.price.value, form.num.value); 021 } 022 023 /**************************/ 024 /* 買い物カゴの中身の変更 */ 025 /**************************/ 026 function cookie_change(type1, p_name1, price1, num1) 027 { 028 // カートの内容を保存したクッキーの読み込み 029 if (document.cookie != "") { 030 let part1 = document.cookie.split(";"); 031 n_get = 0; 032 for (let i0 = 0; i0 < part1.length; i0++) { 033 let k = part1[i0].indexOf("article="); 034 if (k >= 0) { 035 let part = part1[i0].split(":"); 036 k = part[0].indexOf("article="); 037 n_get = parseInt(part[0].substr(k+8,part[0].length-k-8)); 038 let m = 1; 039 for (let i1 = 0; i1 < n_get; i1++) { 040 type[i1] = part[m]; 041 p_name[i1] = part[m+1]; 042 num[i1] = part[m+2]; 043 price[i1] = part[m+3]; 044 m += 4; 045 } 046 break; 047 } 048 } 049 } 050 // カートに今回購入した商品を追加 051 if (type1 != "") { 052 // 整数への変換 053 let v = parseInt(price1); 054 let n = parseInt(num1); 055 // 同じ商品があるか? 056 let m = -1; 057 for (let i1 = 0; i1 < n_get && m < 0; i1++) { 058 if (type1 == type[i1] && p_name1 == p_name[i1]) 059 m = i1; 060 } 061 // 同じ商品がある場合 062 if (m >= 0) { 063 let n1 = parseInt(num[m]) + n; 064 num[m] = n1; 065 sum[m] = n1 * v; 066 } 067 // 同じ商品がない場合 068 else { 069 m = n_get; 070 type[m] = type1; 071 p_name[m] = p_name1; 072 num[m] = num1; 073 price[m] = price1; 074 sum[m] = n * v; 075 n_get++; 076 } 077 // クッキーへの書き込み 078 let str = "article="; 079 str += n_get; 080 for (let i1 = 0; i1 < n_get; i1++) { 081 str += (":" + type[i1]); 082 str += (":" + p_name[i1]); 083 str += (":" + num[i1]); 084 str += (":" + price[i1]); 085 } 086 str += ";path=/~suganuma/home/web_design/JavaScript/cookie/shopping_cookie/"; 087 document.cookie = str; 088 } 089 } 090 091 /**************************/ 092 /* 買い物カゴの中身の表示 */ 093 /**************************/ 094 function cart_content() 095 { 096 // カートの内容を保存したクッキーの読み込み 097 if (document.cookie != "") { 098 let part1 = document.cookie.split(";"); 099 n_get = 0; 100 for (let i0 = 0; i0 < part1.length; i0++) { 101 let k = part1[i0].indexOf("article="); 102 if (k >= 0) { 103 let part = part1[i0].split(":"); 104 k = part[0].indexOf("article="); 105 n_get = parseInt(part[0].substr(k+8,part[0].length-k-8)); 106 let m = 1; 107 for (let i1 = 0; i1 < n_get; i1++) { 108 type[i1] = part[m]; 109 p_name[i1] = part[m+1]; 110 num[i1] = part[m+2]; 111 price[i1] = part[m+3]; 112 m += 4; 113 } 114 break; 115 } 116 } 117 } 118 // 表示 119 document.write(' <FORM ACTION="order.php" METHOD="post" STYLE="text-align: center" TARGET="buy">\n'); 120 document.write(' <TABLE ID="tbl" BORDER="1" STYLE="margin-right: auto; margin-left: auto">\n'); 121 document.write(' <TR>\n'); 122 document.write(' <TH> </TH>\n'); 123 document.write(' <TH>型番</TH>\n'); 124 document.write(' <TH>商品名</TH>\n'); 125 document.write(' <TH>価格</TH>\n'); 126 document.write(' <TH>購入数</TH>\n'); 127 document.write(' <TH>合計</TH>\n'); 128 document.write(' </TR>\n'); 129 let s = 0; 130 for (let i1 = 0; i1 < n_get; i1++) { 131 document.write(' <TR>\n'); 132 document.write(' <TD><INPUT TYPE="checkbox" NAME="no' + i1 + '" CHECKED onClick="sel_c(this.form)"></TD>\n'); 133 document.write(' <TD>' + type[i1] + '</TD>\n'); 134 document.write(' <TD>' + p_name[i1] + '</TD>\n'); 135 document.write(' <TD STYLE="text-align: right">' + price[i1] + '円</TD>\n'); 136 document.write(' <TD><INPUT TYPE="text" NAME="num' + i1 + '" VALUE="' + num[i1] + '" SIZE="3" STYLE="text-align: right" onBlur="sel_c(this.form)"></TD>\n'); 137 let v = parseInt(num[i1]) * parseInt(price[i1]); 138 s += v; 139 document.write(' <TD><INPUT TYPE="text" NAME="sum' + i1 + '" VALUE="' + v + '" READONLY SIZE="7" STYLE="text-align: right"></TD>\n'); 140 document.write(' </TR>\n'); 141 } 142 document.write(' <TR>\n'); 143 document.write(' <TD COLSPAN="5">合計</TD>\n'); 144 document.write(' <TD><INPUT TYPE="text" NAME="sum" VALUE="' + s + '" READONLY SIZE="7" STYLE="text-align: right"></TD>\n'); 145 document.write(' </TR>\n'); 146 document.write(' </TABLE>\n'); 147 document.write(' <INPUT TYPE="hidden" NAME="order">\n'); 148 document.write(' <BR>\n'); 149 document.write(' <BUTTON TYPE="submit" STYLE="font-size: 90%; background-color: pink" ID="btn" onClick="return trans(this.form)">購入</BUTTON> \n'); 150 document.write(' <INPUT TYPE="button" VALUE="買い物情報クリア" STYLE="font-size: 90%; background-color: #eeffee" ID="clear" onClick="c_clear()"> \n'); 151 document.write(' <A HREF="article.html">商品一覧へ</A>\n'); 152 document.write(' </FORM>\n'); 153 } 154 155 /**************************/ 156 /* 購入/購入しない */ 157 /* 購入個数 */ 158 /* を変えたときの処理 */ 159 /**************************/ 160 function sel_c(form) 161 { 162 let s = 0; 163 for (let i1 = 0; i1 < n_get; i1++) { 164 let c = eval("form.no" + i1); 165 if (c.checked) { 166 let n = eval("form.num" + i1); 167 if (n.value == "") 168 n.value = "0"; 169 num[i1] = n.value; 170 let v = parseInt(num[i1]) * parseInt(price[i1]); 171 let sm = eval("form.sum" + i1); 172 sm.value = v; 173 s += v; 174 } 175 else { 176 num[i1] = "0"; 177 let n = eval("form.num" + i1); 178 n.value = "0"; 179 let sm = eval("form.sum" + i1); 180 sm.value = "0"; 181 } 182 } 183 form.sum.value = s; 184 // cookie の変更 185 let str = "article="; 186 str += n_get; 187 for (let i1 = 0; i1 < n_get; i1++) { 188 str += (":" + type[i1]); 189 str += (":" + p_name[i1]); 190 str += (":" + num[i1]); 191 str += (":" + price[i1]); 192 } 193 str += ";path=/~suganuma/home/web_design/JavaScript/cookie/shopping_cookie/"; 194 document.cookie = str; 195 } 196 197 /********/ 198 /* 購入 */ 199 /********/ 200 function trans(form) 201 { 202 let str = ""; 203 let s = 0; 204 form.order.value = ""; 205 for (let i1 = 0; i1 < n_get; i1++) { 206 if (num[i1] > 0) { 207 let v = parseInt(num[i1]) * parseInt(price[i1]); 208 str += p_name[i1] + ": " + num[i1] + "個," + v + "円\n"; 209 s += v; 210 if (form.order.value == "") 211 form.order.value = form.order.value + type[i1] + ":" + num[i1]; 212 else 213 form.order.value = form.order.value + ":" + type[i1] + ":" + num[i1]; 214 } 215 } 216 if (s > 0) { 217 str += " 合計 " + s + "円\n\nよろしいですか?"; 218 if (!confirm(str)) 219 return false; 220 else 221 c_clear(); 222 } 223 else { 224 alert("まだ,何も購入されていません!"); 225 return false; 226 } 227 } 228 229 /**********************/ 230 /* 買い物情報のクリア */ 231 /**********************/ 232 function c_clear() 233 { 234 n_get = 0; 235 document.cookie = "article=0;path=/~suganuma/home/web_design/JavaScript/cookie/shopping_cookie/"; 236 document.getElementById("tbl").style.display = "none"; 237 document.getElementById("btn").style.display = "none"; 238 document.getElementById("clear").style.display = "none"; 239 }
order.php:商品の購入
01 <!DOCTYPE HTML> 02 <HEAD> 03 <TITLE>購入</TITLE> 04 <META http-equiv="Content-Type" CONTENT="text/html; charset=utf-8"> 05 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 06 </HEAD> 07 <BODY CLASS="white"> 08 <H2 CLASS="center">購入された商品</H2> 09 <DIV> 10 <?php 11 $order = $_POST['order']; 12 $x = strtok($order, ":"); 13 $k = 0; 14 while ($x !== FALSE) { 15 $type[$k] = $x; 16 $x = strtok(":"); 17 $num[$k] = $x; 18 echo "商品 ". $type[$k]." 個数 ".$num[$k]." 個<BR>\n"; 19 $x = strtok(":"); 20 $k++; 21 } 22 ?> 23 </DIV> 24 </BODY> 25 </HTML>
main.html
<!DOCTYPE HTML> <HEAD> <TITLE>買い物</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> <SCRIPT SRC="control.js" TYPE="text/javascript"></SCRIPT> </HEAD> <BODY CLASS="white"> <IFRAME NAME="article_buy" SRC="form.html" WIDTH="100%" HEIGHT="0px"></IFRAME> <IFRAME NAME="article" SRC="article.html" WIDTH="100%" HEIGHT="800px"></IFRAME> </BODY> </HTML>
form.html
<!DOCTYPE HTML> <HEAD> <TITLE>買い物の制御</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" href="../../../../master.css"> <SCRIPT SRC="control.js" TYPE="text/javascript"></SCRIPT> </HEAD> <BODY CLASS="white"> <FORM NAME="form_buy" ACTION="order.php" METHOD="post" TARGET="buy"> <INPUT TYPE="text" NAME="order"> </FORM> </BODY> </HTML>
article.html:商品の選択
<!DOCTYPE HTML> <HEAD> <TITLE>商品一覧</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> <SCRIPT SRC="control.js" TYPE="text/javascript"></SCRIPT> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <TABLE STYLE="margin-left: auto; margin-right: auto"> <TR> <TD> <DIV STYLE="width: 350px; margin-left: auto; margin-right: auto"> <H2>商品001</H2> <IMG SRC="cat01-001.jpg" WIDTH="300"> <FORM> <TABLE STYLE="text-align: left; margin-left: auto; margin-right: auto"> <TR> <TH>型番</TH> <TD>001-01<INPUT TYPE="hidden" NAME="type" VALUE="001-01"></TD> </TR> <TR> <TH>商品名</TH> <TD>商品001<INPUT TYPE="hidden" NAME="name" VALUE="商品001"></TD> </TR> <TR> <TH>定価</TH> <TD>2,800円(税込)</TD> </TR> <TR> <TH>販売価格</TH> <TD CLASS="osusumeprice">2,800円(税込)<INPUT TYPE="hidden" NAME="price" VALUE="2800"></TD> </TR> <TR> <TH>購入数</TH> <TD STYLE="padding: 0px 5px;"><INPUT TYPE="text" NAME="num" VALUE="1" STYLE="width: 50px;"></TD> </TR> </TABLE> <BR> <INPUT onClick="return cart_in(this.form)" TYPE="image" VALUE="カートに入れる" SRC="cartin.gif" ALT="かごに入れる" WIDTH="115" HEIGHT="25"> </FORM> </DIV> </TD> <TD> <DIV STYLE="width: 350px; margin-left: auto; margin-right: auto"> <H2>商品002</H2> <IMG SRC="cat01-002.jpg" WIDTH="300"> <FORM> <TABLE STYLE="text-align: left; margin-left: auto; margin-right: auto"> <TR> <TH>型番</TH> <TD>001-02<INPUT TYPE="hidden" NAME="type" VALUE="001-02"></TD> </TR> <TR> <TH>商品名</TH> <TD>商品002<INPUT TYPE="hidden" NAME="name" VALUE="商品002"></TD> </TR> <TR> <TH>定価</TH> <TD>4,200円(税込)</TD> </TR> <TR> <TH>販売価格</TH> <TD CLASS="osusumeprice">4,200円(税込)<INPUT TYPE="hidden" NAME="price" VALUE="4200"></TD> </TR> <TR> <TH>購入数</TH> <TD STYLE="padding: 0px 5px;"><INPUT TYPE="text" NAME="num" VALUE="1" STYLE="width: 50px;"></TD> </TR> </TABLE> <BR> <INPUT onClick="return cart_in(this.form)" TYPE="image" VALUE="カートに入れる" SRC="cartin.gif" ALT="かごに入れる" WIDTH="115" HEIGHT="25"> </FORM> </DIV> </TD> </TR> </TABLE> <BR> <DIV><A HREF="cart.html">買い物カゴを見る</A></DIV> </BODY> </HTML>
cart.html:買い物カゴの中身の表示
<!DOCTYPE HTML> <HEAD> <TITLE>買い物カゴ</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> <SCRIPT SRC="control.js" TYPE="text/javascript"></SCRIPT> </HEAD> <BODY CLASS="white"> <H2 CLASS="center">買い物カゴ</H2> <SCRIPT TYPE="text/javascript"> cart_content(); </SCRIPT> </BODY> </HTML>
control.js:使用されている JavaScript の関数
n_get = 0; type = new Array(); p_name = new Array(); num = new Array(); price = new Array(); sum = new Array(); /****************/ /* カゴへ入れる */ /****************/ function cart_in(form) { let str = "型番: " + form.type.value + "\n" + "商品名: " + form.name.value + "\n" + "価格: " + form.price.value + " 円\n" + "購入数: " + form.num.value + "\nよろしいですか?"; if (!confirm(str)) return false; else cookie_change(form.type.value, form.name.value, form.price.value, form.num.value); } /**************************/ /* 買い物カゴの中身の変更 */ /**************************/ function cookie_change(type1, p_name1, price1, num1) { // カートの内容を保存したフォームデータの読み込み if (parent.article_buy.document.form_buy.order.value != "") { let part1 = parent.article_buy.document.form_buy.order.value.split(";"); n_get = 0; for (let i0 = 0; i0 < part1.length; i0++) { let k = part1[i0].indexOf("article="); if (k >= 0) { let part = part1[i0].split(":"); k = part[0].indexOf("article="); n_get = parseInt(part[0].substr(k+8,part[0].length-k-8)); let m = 1; for (let i1 = 0; i1 < n_get; i1++) { type[i1] = part[m]; p_name[i1] = part[m+1]; num[i1] = part[m+2]; price[i1] = part[m+3]; m += 4; } break; } } } // カートに今回購入した商品を追加 if (type1 != "") { // 整数への変換 let v = parseInt(price1); let n = parseInt(num1); // 同じ商品があるか? let m = -1; for (let i1 = 0; i1 < n_get && m < 0; i1++) { if (type1 == type[i1] && p_name1 == p_name[i1]) m = i1; } // 同じ商品がある場合 if (m >= 0) { let n1 = parseInt(num[m]) + n; num[m] = n1; sum[m] = n1 * v; } // 同じ商品がない場合 else { m = n_get; type[m] = type1; p_name[m] = p_name1; num[m] = num1; price[m] = price1; sum[m] = n * v; n_get++; } // フォームデータへの書き込み let str = "article="; str += n_get; for (let i1 = 0; i1 < n_get; i1++) { str += (":" + type[i1]); str += (":" + p_name[i1]); str += (":" + num[i1]); str += (":" + price[i1]); } parent.article_buy.document.form_buy.order.value = str; } } /**************************/ /* 買い物カゴの中身の表示 */ /**************************/ function cart_content() { // カートの内容を保存したフォームデータの読み込み if (parent.article_buy.document.form_buy.order.value != "") { let part1 = parent.article_buy.document.form_buy.order.value.split(";"); n_get = 0; for (let i0 = 0; i0 < part1.length; i0++) { let k = part1[i0].indexOf("article="); if (k >= 0) { let part = part1[i0].split(":"); k = part[0].indexOf("article="); n_get = parseInt(part[0].substr(k+8,part[0].length-k-8)); let m = 1; for (let i1 = 0; i1 < n_get; i1++) { type[i1] = part[m]; p_name[i1] = part[m+1]; num[i1] = part[m+2]; price[i1] = part[m+3]; m += 4; } break; } } } // 表示 document.write('\n'); } /**************************/ /* 購入/購入しない */ /* 購入個数 */ /* を変えたときの処理 */ /**************************/ function sel_c(form) { let s = 0; for (let i1 = 0; i1 < n_get; i1++) { let c = eval("form.no" + i1); if (c.checked) { let n = eval("form.num" + i1); if (n.value == "") n.value = "0"; num[i1] = n.value; let v = parseInt(num[i1]) * parseInt(price[i1]); let sm = eval("form.sum" + i1); sm.value = v; s += v; } else { num[i1] = "0"; let n = eval("form.num" + i1); n.value = "0"; let sm = eval("form.sum" + i1); sm.value = "0"; } } form.sum.value = s; // フォームデータの変更 let str = "article="; str += n_get; for (let i1 = 0; i1 < n_get; i1++) { str += (":" + type[i1]); str += (":" + p_name[i1]); str += (":" + num[i1]); str += (":" + price[i1]); } parent.article_buy.document.form_buy.order.value = str; } /********/ /* 購入 */ /********/ function trans(form) { let str = ""; let str0 = ""; let s = 0; for (let i1 = 0; i1 < n_get; i1++) { if (num[i1] > 0) { let v = parseInt(num[i1]) * parseInt(price[i1]); str += p_name[i1] + ": " + num[i1] + "個," + v + "円\n"; s += v; if (str0 == "") str0 = str0 + type[i1] + ":" + num[i1]; else str0 = str0 + ":" + type[i1] + ":" + num[i1]; } } if (s > 0) { str += " 合計 " + s + "円\n\nよろしいですか?"; if (confirm(str)) { parent.article_buy.document.form_buy.order.value = str0; parent.article_buy.document.form_buy.submit(); c_clear(); } } else alert("まだ,何も購入されていません!"); } /**********************/ /* 買い物情報のクリア */ /**********************/ function c_clear() { n_get = 0; parent.article_buy.document.form_buy.order.value = ""; document.getElementById("tbl").style.display = "none"; document.getElementById("btn").style.display = "none"; document.getElementById("clear").style.display = "none"; }
order.php:商品の購入
<!DOCTYPE HTML> <HEAD> <TITLE>買い物カゴ</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> </HEAD> <BODY CLASS="white"> <H2 CLASS="center">購入された商品</H2> <DIV> <?php $order = $_POST['order']; $x = strtok($order, ":"); $k = 0; while ($x !== FALSE) { $type[$k] = $x; $x = strtok(":"); $num[$k] = $x; echo "商品 ". $type[$k]." 個数 ".$num[$k]." 個<BR>\n"; $x = strtok(":"); $k++; } ?> </DIV> </BODY> </HTML>
document.images[0].src = "ayame.gif";
[NamedConstructor=Image(), NamedConstructor=Image(unsigned long width), NamedConstructor=Image(unsigned long width, unsigned long height)] interface HTMLImageElement : HTMLElement { attribute DOMString alt; attribute DOMString src; attribute DOMString crossOrigin; attribute DOMString useMap; attribute boolean isMap; attribute unsigned long width; attribute unsigned long height; readonly attribute unsigned long naturalWidth; readonly attribute unsigned long naturalHeight; readonly attribute boolean complete; };
要素.属性 [ = 属性値] // 属性の場合 要素.style.プロパティ [ = 値] // スタイルシートのプロパティの場合
01 <!DOCTYPE HTML> 02 <HTML> 03 <HEAD> 04 <TITLE>DOM の例</TITLE> 05 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../master.css"> 07 <SCRIPT TYPE="text/javascript"> 08 function change(sw) 09 { 10 switch (sw) { 11 case 0: 12 document.getElementById("hana").src = "ayame.gif"; // document.images[0].src = "ayame.gif"; でも可能 13 break; 14 case 1: 15 document.getElementById("exp").innerHTML = "あやめ"; 16 break; 17 case 2: 18 document.getElementById("main").innerHTML = '<IMG ID="hana" SRC="ayame.gif"><DIV ID="exp">あやめ</DIV>'; 19 break; 20 case 3: 21 document.getElementById("back").style.backgroundColor = "pink"; 22 break; 23 case 4: 24 document.getElementById("hana").src = "ajisai.gif"; 25 document.getElementById("exp").innerHTML = "紫陽花"; 26 document.getElementById("back").style.backgroundColor = "yellow"; 27 break; 28 } 29 } 30 </SCRIPT> 31 </HEAD> 32 <BODY CLASS="white"> 33 <H1 CLASS="center">DOM の例</H1> 34 <DIV CLASS="center"> 35 <DIV ID="main" CLASS="center"> 36 <IMG ID="hana" SRC="ajisai.gif"> 37 <DIV ID="exp">紫陽花</DIV> 38 </DIV> 39 <BR> 40 <BUTTON STYLE="font-size: 100%; background-color: yellow" onClick="change(0)">花</BUTTON> 41 <BUTTON STYLE="font-size: 100%; background-color: yellow" onClick="change(1)">説明</BUTTON> 42 <BUTTON STYLE="font-size: 100%; background-color: yellow" onClick="change(2)">両方</BUTTON> 43 <BUTTON STYLE="font-size: 100%; background-color: yellow" onClick="change(3)">背景色</BUTTON> 44 <BUTTON ID="back" STYLE="font-size: 100%; background-color: yellow" onClick="change(4)">元に戻す</BUTTON> 45 </DIV> 46 </BODY> 47 </HTML>
01 <!DOCTYPE HTML> 02 <HTML> 03 <HEAD> 04 <TITLE>演習問題の解答</TITLE> 05 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 07 <SCRIPT TYPE="text/javascript"> 08 function check(form) { 09 let sw = 0; 10 if(form.ans.value =="") { 11 alert("答えを入力してください"); 12 sw = 1; 13 } 14 if(form.name.value =="") { 15 alert("名前を入力してください"); 16 sw = 1; 17 } 18 if (sw == 0) { 19 let a = parseInt(form.a.value); 20 let b = parseInt(form.b.value); 21 let c = parseInt(form.ans.value); 22 if (a+b == c) { 23 document.getElementById("result1").innerHTML = form.name.value + " さん,正解です!"; 24 document.getElementById("result2").innerHTML = "続いて,次の問題の答えは?"; 25 form.a.value = Math.floor(100 * Math.random()); 26 form.b.value = Math.floor(100 * Math.random()); 27 form.ans.value = ""; 28 document.getElementById("equation").innerHTML = form.a.value + " + " + form.b.value; 29 } 30 else { 31 document.getElementById("result1").innerHTML = form.name.value + " さん,間違っています!"; 32 document.getElementById("result2").innerHTML = "もう一度計算してみて下さい"; 33 } 34 } 35 } 36 </SCRIPT> 37 </HEAD> 38 <BODY CLASS="white"> 39 <H3 STYLE="text-align:center" ID="result1"></H3> 40 <H3 STYLE="text-align:center" ID="result2">次の問題の答えは?</H3> 41 <FORM> 42 <P STYLE="text-align:center"> 43 <SPAN ID="equation">3 + 4</SPAN> = <INPUT TYPE="text" NAME="ans" STYLE="font-size:90%"><BR><BR> 44 名前:<INPUT TYPE="text" NAME="name" STYLE="font-size:90%"> 45 <INPUT TYPE="button" VALUE="送信" onClick="check(this.form)" STYLE="font-size:90%"><BR> 46 <INPUT TYPE="hidden" NAME="a" VALUE="3"> 47 <INPUT TYPE="hidden" NAME="b" VALUE="4"> 48 </P> 49 </FORM> 50 </BODY> 51 </HTML>
01 <!DOCTYPE HTML> 02 <HTML> 03 <HEAD> 04 <TITLE>表示・非表示( visibility )</TITLE> 05 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 07 <STYLE TYPE="text/css"> 08 BODY { width: 700px } 09 IMG.right { float: right; position: relative; z-index:1; margin: 0px; padding: 0px } 10 IMG.right_cl { position: absolute; top: 40px; left: 490px; z-index: 2; visibility: hidden; margin: 0px; padding: 0px } 11 IMG.right_cm { position: absolute; top: 120px; left: 530px; z-index: 2; visibility: hidden; margin: 0px; padding: 0px } 12 IMG.right_cs { position: absolute; top: 170px; left: 630px; z-index: 2; visibility: hidden; margin: 0px; padding: 0px } 13 P.center { text-align: center } 14 SPAN.U { text-decoration: underline; background-color: orange } 15 </STYLE> 16 <SCRIPT TYPE="text/javascript"> 17 function mark_o() 18 { 19 document.getElementById("circle_l").style.visibility = "hidden"; 20 document.getElementById("hana").style.backgroundColor = "white"; 21 document.getElementById("circle_m").style.visibility = "hidden"; 22 document.getElementById("ha").style.backgroundColor = "white"; 23 document.getElementById("circle_s").style.visibility = "hidden"; 24 } 25 function mark_1() 26 { 27 document.getElementById("circle_l").style.visibility = "visible"; 28 } 29 function mark_2() 30 { 31 document.getElementById("circle_m").style.visibility = "visible"; 32 document.getElementById("hana").style.backgroundColor = "lightblue"; 33 } 34 function mark_3() 35 { 36 document.getElementById("circle_s").style.visibility = "visible"; 37 document.getElementById("ha").style.backgroundColor = "lightgreen"; 38 } 39 </SCRIPT> 40 </HEAD> 41 <BODY CLASS="white"> 42 <P>紫陽花 <SPAN CLASS="U" onMouseOver="mark_1()" onMouseOut="mark_o()">紫陽花</SPAN> <SPAN CLASS="U" onMouseOver="mark_2()" onMouseOut="mark_o()">花の説明</SPAN> <SPAN CLASS="U" onMouseOver="mark_3()" onMouseOut="mark_o()">葉の説明</SPAN> 43 <IMG ID="ajisai" SRC="ajisai.gif" CLASS="right"> 44 <IMG ID="circle_l" CLASS="right_cl" SRC="circle_l.gif"> 45 <IMG ID="circle_m" CLASS="right_cm" SRC="circle_m.gif"> 46 <IMG ID="circle_s" CLASS="right_cs" SRC="circle_s.gif"> 47 <P> ユキノシタ科の落葉低木.ガクアジサイの改良種とされる.幹は根から叢生.高さ約一・五メートル.葉は広卵形で対生.六~七月頃,球状の集散花序に四枚の萼片だけが発達した不実の花(装飾花)を多数つける.色は青から赤紫で,変化するところから「七変化」の名もある.観賞用.<SPAN ID="hana">花は解熱薬</SPAN>,<SPAN ID="ha">葉は瘧(おこり)の治療薬用</SPAN>.また,広くはサワアジサイ・ガクアジサイなどの総称で,ヨーロッパでの改良品種をセイヨウアジサイ・ハイドランジアなどと呼ぶ.あずさい.四片(よひら). 48 </BODY> 49 </HTML>
01 <!DOCTYPE HTML> 02 <HTML> 03 <HEAD> 04 <TITLE>表示・非表示( display )</TITLE> 05 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 07 <SCRIPT TYPE="text/javascript"> 08 function disp(sw) 09 { 10 if (sw == 1) { 11 document.getElementById("dl_1").style.display = ""; 12 document.getElementById("dl_2").style.display = "none"; 13 } 14 else { 15 document.getElementById("dl_1").style.display = "none"; 16 document.getElementById("dl_2").style.display = ""; 17 } 18 } 19 </SCRIPT> 20 </HEAD> 21 <BODY CLASS="white"> 22 <H1 STYLE="text-align: center">表示・非表示( display )</H1> 23 <FORM> 24 <DL> 25 <DT>名前: <INPUT TYPE="text" NAME="name" STYLE="font-size:90%"><BR><BR> 26 <DT><INPUT TYPE="radio" NAME="sel" onClick="disp(1)">好きな野菜: 27 <DD><DL ID="dl_1" STYLE="display:none"> 28 <DT><INPUT TYPE="checkbox" NAME="c1">キャベツ 29 <DT><INPUT TYPE="checkbox" NAME="c2">大根 30 <DT><INPUT TYPE="checkbox" NAME="c3">ジャガイモ 31 <DT><INPUT TYPE="checkbox" NAME="c4">トマト 32 </DL></DD> 33 <DT><INPUT TYPE="radio" NAME="sel" onClick="disp(2)">好きな果物: 34 <DD><DL ID="dl_2" STYLE="display:none"><DD> 35 <DT><INPUT TYPE="checkbox" NAME="c5">蜜柑 36 <DT><INPUT TYPE="checkbox" NAME="c6">林檎 37 <DT><INPUT TYPE="checkbox" NAME="c7">葡萄 38 <DT><INPUT TYPE="checkbox" NAME="c8">苺 39 </DL></DD> 40 </DL> 41 </FORM> 42 </BODY> 43 </HTML>
01 <!DOCTYPE HTML> 02 <HEAD> 03 <TITLE>文字サイズの変更</TITLE> 04 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 05 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 06 <SCRIPT TYPE="text/javascript"> 07 size = 130; 08 function size_c(sw) 09 { 10 if (sw > 0) 11 size += 10; 12 else { 13 if (size > 10) 14 size -= 10; 15 } 16 document.getElementById("div_2").style.fontSize = size + '%'; 17 } 18 </SCRIPT> 19 </HEAD> 20 <BODY CLASS="white"> 21 <H1 CLASS="center">文字サイズ</H1> 22 <DIV CLASS="center"> 23 <BUTTON onClick="size_c(1)" STYLE="font-size: 90%">大きく</BUTTON> <BUTTON onClick="size_c(-1)" STYLE="font-size: 90%">小さく</BUTTON> 24 </DIV> 25 <DIV ID="div_1" STYLE="float: left"> 26 <H1>文書1</H1> 27 <H2>文書1</H2> 28 <H3>文書1</H3> 29 <H4>文書1</H4> 30 <H5>文書1</H5> 31 <H6>文書1</H6> 32 </DIV> 33 <DIV ID="div_2"> 34 <H1>文書2</H1> 35 <H2>文書2</H2> 36 <H3>文書3</H3> 37 <H4>文書4</H4> 38 <H5>文書5</H5> 39 <H6>文書6</H6> 40 </DIV> 41 </BODY> 42 </HTML>
01 <!DOCTYPE HTML> 02 <HEAD> 03 <TITLE>スクロール</TITLE> 04 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 05 <META HTTP-EQUIV="Content-Language" CONTENT="ja"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 07 <SCRIPT TYPE="text/javascript"> 08 timerID = -1; 09 10 function start() 11 { 12 timerID = setInterval('p_change()',100); 13 } 14 15 function p_change() 16 { 17 if (window.pageYOffset) { // Chrome 18 if (pageYOffset > 50) 19 document.getElementById("left").style.marginTop = (pageYOffset - 30) + "px"; 20 else 21 document.getElementById("left").style.marginTop = "0px"; 22 } 23 else { // IE 24 let x = (document.documentElement || document.body.parentNode || document.body).scrollTop; 25 if (x > 50) 26 document.getElementById("left").style.marginTop = (x - 10) + "px"; 27 else 28 document.getElementById("left").style.marginTop = "0px"; 29 } 30 } 31 </SCRIPT> 32 </HEAD> 33 34 <BODY CLASS="white" STYLE="text-align: center" onLoad="start()"> 35 <DIV ID="wrapper" STYLE="width: 500px; margin-right: auto; margin-left: auto"> 36 <DIV ID="left" STYLE="float: left; width: 190px"> 37 <H1>文書1</H1> 38 <H2>文書1</H2> 39 <H3>文書1</H3> 40 <H4>文書1</H4> 41 <H5>文書1</H5> 42 <H6>文書1</H6> 43 </DIV> 44 <DIV ID="right" STYLE="float: right; width: 300px"> 45 <H1>文書2</H1> 46 <H2>文書2</H2> 47 <H3>文書3</H3> 48 <H4>文書4</H4> 49 <H5>文書5</H5> 50 <H6>文書6</H6> 51 <H1>文書2</H1> 52 <H2>文書2</H2> 53 <H3>文書3</H3> 54 <H4>文書4</H4> 55 <H5>文書5</H5> 56 <H6>文書6</H6> 57 <H1>文書2</H1> 58 <H2>文書2</H2> 59 <H3>文書3</H3> 60 <H4>文書4</H4> 61 <H5>文書5</H5> 62 <H6>文書6</H6> 63 <H1>文書2</H1> 64 <H2>文書2</H2> 65 <H3>文書3</H3> 66 <H4>文書4</H4> 67 <H5>文書5</H5> 68 <H6>文書6</H6> 69 </DIV> 70 </DIV> 71 </BODY> 72 </HTML>
page1.html:ページ1
<!DOCTYPE HTML> <HEAD> <TITLE>ページ1</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <DIV ID="wrapper" STYLE="width: 500px; margin-right: auto; margin-left: auto"> <DIV ID="left" STYLE="float: left; width: 190px"> <OL CLASS="number"> <LI><A HREF="page1.html">ページ1</A> <LI><A HREF="page2.html">ページ2</A> <LI><A HREF="page3.html">ページ3</A> </OL> </DIV> <DIV ID="right" STYLE="float: right; width: 300px"> <DIV ID="right_top" STYLE="width: 295px"> <H1>文書1</H1> <H2>文書1</H2> <H3>文書1</H3> <H4>文書1</H4> <H5>文書1</H5> <H6>文書1</H6> </DIV> <DIV ID="right_bottom" STYLE="width: 295px"> <H1>文書1</H1> <H2>文書1</H2> <H3>文書1</H3> <H4>文書1</H4> <H5>文書1</H5> <H6>文書1</H6> </DIV> </DIV> </DIV> </BODY> </HTML>
page2.html:ページ2
<!DOCTYPE HTML> <HEAD> <TITLE>ページ2</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <DIV ID="wrapper" STYLE="width: 500px; margin-right: auto; margin-left: auto"> <DIV ID="left" STYLE="float: left; width: 190px"> <OL CLASS="number"> <LI><A HREF="page1.html">ページ1</A> <LI><A HREF="page2.html">ページ2</A> <LI><A HREF="page3.html">ページ3</A> </OL> </DIV> <DIV ID="right" STYLE="float: right; width: 300px"> <DIV ID="right_top" STYLE="width: 295px"> <H1>文書2</H1> <H2>文書2</H2> <H3>文書2</H3> <H4>文書2</H4> <H5>文書2</H5> <H6>文書2</H6> </DIV> <DIV ID="right_bottom" STYLE="width: 295px"> <H1>文書1</H1> <H2>文書1</H2> <H3>文書1</H3> <H4>文書1</H4> <H5>文書1</H5> <H6>文書1</H6> </DIV> </DIV> </DIV> </BODY> </HTML>
page3.html:ページ3
<!DOCTYPE HTML> <HEAD> <TITLE>ページ3</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <DIV ID="wrapper" STYLE="width: 500px; margin-right: auto; margin-left: auto"> <DIV ID="left" STYLE="float: left; width: 190px"> <OL CLASS="number"> <LI><A HREF="page1.html">ページ1</A> <LI><A HREF="page2.html">ページ2</A> <LI><A HREF="page3.html">ページ3</A> </OL> </DIV> <DIV ID="right" STYLE="float: right; width: 300px"> <DIV ID="right_top" STYLE="width: 295px"> <H1>文書1</H1> <H2>文書1</H2> <H3>文書1</H3> <H4>文書1</H4> <H5>文書1</H5> <H6>文書1</H6> </DIV> <DIV ID="right_bottom" STYLE="width: 295px"> <H1>文書3</H1> <H2>文書3</H2> <H3>文書3</H3> <H4>文書3</H4> <H5>文書3</H5> <H6>文書3</H6> </DIV> </DIV> </DIV> </BODY> </HTML>
page1.html:ページ1
<!DOCTYPE HTML> <HEAD> <TITLE>ページ1</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> <SCRIPT TYPE="text/javascript" SRC="control.js"></SCRIPT> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <DIV ID="wrapper" STYLE="width: 500px; margin-right: auto; margin-left: auto"> <DIV ID="left" STYLE="float: left; width: 190px"> <OL CLASS="number"> <LI><A HREF="page1.html">ページ1</A> <LI><A HREF="page2.html">ページ2</A> <LI><A HREF="page3.html">ページ3</A> </OL> </DIV> <DIV ID="right" STYLE="float: right; width: 300px"> <DIV ID="right_top" STYLE="width: 295px"> <SCRIPT TYPE="text/javascript"> func1(); </SCRIPT> </DIV> <DIV ID="right_bottom" STYLE="width: 295px"> <SCRIPT TYPE="text/javascript"> func1(); </SCRIPT> </DIV> </DIV> </DIV> </BODY> </HTML>
page2.html:ページ2
<!DOCTYPE HTML> <HEAD> <TITLE>ページ2</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> <SCRIPT TYPE="text/javascript" SRC="control.js"></SCRIPT> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <DIV ID="wrapper" STYLE="width: 500px; margin-right: auto; margin-left: auto"> <DIV ID="left" STYLE="float: left; width: 190px"> <OL CLASS="number"> <LI><A HREF="page1.html">ページ1</A> <LI><A HREF="page2.html">ページ2</A> <LI><A HREF="page3.html">ページ3</A> </OL> </DIV> <DIV ID="right" STYLE="float: right; width: 300px"> <DIV ID="right_top" STYLE="width: 295px"> <SCRIPT TYPE="text/javascript"> func2(); </SCRIPT> </DIV> <DIV ID="right_bottom" STYLE="width: 295px"> <SCRIPT TYPE="text/javascript"> func1(); </SCRIPT> </DIV> </DIV> </DIV> </BODY> </HTML>
page3.html:ページ3
<!DOCTYPE HTML> <HEAD> <TITLE>ページ3</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> <SCRIPT TYPE="text/javascript" SRC="control.js"></SCRIPT> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <DIV ID="wrapper" STYLE="width: 500px; margin-right: auto; margin-left: auto"> <DIV ID="left" STYLE="float: left; width: 190px"> <OL CLASS="number"> <LI><A HREF="page1.html">ページ1</A> <LI><A HREF="page2.html">ページ2</A> <LI><A HREF="page3.html">ページ3</A> </OL> </DIV> <DIV ID="right" STYLE="float: right; width: 300px"> <DIV ID="right_top" STYLE="width: 295px"> <SCRIPT TYPE="text/javascript"> func1(); </SCRIPT> </DIV> <DIV ID="right_bottom" STYLE="width: 295px"> <SCRIPT TYPE="text/javascript"> func3(); </SCRIPT> </DIV> </DIV> </DIV> </BODY> </HTML>
function func1() { document.write(" <H1>文書1</H1>\n"); document.write(" <H2>文書1</H2>\n"); document.write(" <H3>文書1</H3>\n"); document.write(" <H4>文書1</H4>\n"); document.write(" <H5>文書1</H5>\n"); document.write(" <H6>文書1</H6>\n"); } function func2() { document.write(" <H1>文書2</H1>\n"); document.write(" <H2>文書2</H2>\n"); document.write(" <H3>文書2</H3>\n"); document.write(" <H4>文書2</H4>\n"); document.write(" <H5>文書2</H5>\n"); document.write(" <H6>文書2</H6>\n"); } function func3() { document.write(" <H1>文書3</H1>\n"); document.write(" <H2>文書3</H2>\n"); document.write(" <H3>文書3</H3>\n"); document.write(" <H4>文書3</H4>\n"); document.write(" <H5>文書3</H5>\n"); document.write(" <H6>文書3</H6>\n"); }
01 <!DOCTYPE HTML> 02 <HEAD> 03 <TITLE>ページ1</TITLE> 04 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 05 <META HTTP-EQUIV="Content-Language" CONTENT="ja"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> 07 <STYLE TYPE="text/css"> 08 span.point:hover { color: #00ff00; cursor: pointer; } 09 </STYLE> 10 <SCRIPT TYPE="text/javascript"> 11 page = 1; 12 str1 = "<H1>文書1</H1>\n<H2>文書1</H2>\n<H3>文書1</H3>\n<H4>文書1</H4>\n<H5>文書1</H5>\n<H6>文書1</H6>\n"; 13 str2 = "<H1>文書2</H1>\n<H2>文書2</H2>\n<H3>文書2</H3>\n<H4>文書2</H4>\n<H5>文書2</H5>\n<H6>文書2</H6>\n"; 14 str3 = "<H1>文書3</H1>\n<H2>文書3</H2>\n<H3>文書3</H3>\n<H4>文書3</H4>\n<H5>文書3</H5>\n<H6>文書3</H6>\n"; 15 16 function move(sw) 17 { 18 if (page != sw) { 19 if (sw == 1) { 20 if (page == 2) 21 document.getElementById("right_top").innerHTML = str1; 22 else 23 document.getElementById("right_bottom").innerHTML = str1; 24 } 25 else if (sw == 2) { 26 document.getElementById("right_top").innerHTML = str2; 27 if (page == 3) 28 document.getElementById("right_bottom").innerHTML = str1; 29 } 30 else { 31 document.getElementById("right_bottom").innerHTML = str3; 32 if (page == 2) 33 document.getElementById("right_top").innerHTML = str1; 34 } 35 page = sw; 36 } 37 } 38 </SCRIPT> 39 </HEAD> 40 41 <BODY CLASS="white" STYLE="text-align: center"> 42 <DIV ID="wrapper" STYLE="width: 500px; margin-right: auto; margin-left: auto"> 43 <DIV ID="left" STYLE="float: left; width: 190px"> 44 <OL CLASS="number"> 45 <LI><SPAN CLASS="point" onClick="move(1)">ページ1</SPAN> 46 <LI><SPAN CLASS="point" onClick="move(2)">ページ2</SPAN> 47 <LI><SPAN CLASS="point" onClick="move(3)">ページ3</SPAN> 48 </OL> 49 </DIV> 50 <DIV ID="right" STYLE="float: right; width: 300px"> 51 <DIV ID="right_top" STYLE="width: 295px"> 52 <H1>文書1</H1> 53 <H2>文書1</H2> 54 <H3>文書1</H3> 55 <H4>文書1</H4> 56 <H5>文書1</H5> 57 <H6>文書1</H6> 58 </DIV> 59 <DIV ID="right_bottom" STYLE="width: 295px"> 60 <H1>文書1</H1> 61 <H2>文書1</H2> 62 <H3>文書1</H3> 63 <H4>文書1</H4> 64 <H5>文書1</H5> 65 <H6>文書1</H6> 66 </DIV> 67 </DIV> 68 </DIV> 69 </BODY> 70 </HTML>
home.html:トップページ.IFRAME 要素内に wrapper.html を表示しているだけ
<!DOCTYPE HTML> <HEAD> <TITLE>リンク(フレーム)</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <IFRAME SRC="wrapper.html" WIDTH="550px" HEIGHT="650px"></IFRAME> </BODY> </HTML>
wrapper.html:左側の IFRAME 要素内に left.html,右側に right.html を表示
<!DOCTYPE HTML> <HEAD> <TITLE>リンク(フレーム)</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <IFRAME SRC="left.html" WIDTH="175px" STYLE="float: left"></iframe> <IFRAME ID="right" SRC="right.html" WIDTH="330px" HEIGHT="600px" STYLE="float: right"></IFRAME> </BODY> </HTML>
left.html
01 <!DOCTYPE HTML> 02 <HEAD> 03 <TITLE>left.html</TITLE> 04 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 05 <META HTTP-EQUIV="Content-Language" CONTENT="ja"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> 07 <SCRIPT TYPE="text/javascript"> 08 page = 1; 09 function move(sw) 10 { 11 if (page != sw) { 12 if (sw == 1) { 13 if (page == 2) 14 parent.right.document.getElementById("right_top").src = "page1.html"; 15 else 16 parent.right.document.getElementById("right_bottom").src = "page1.html"; 17 } 18 else if (sw == 2) { 19 parent.right.document.getElementById("right_top").src = "page2.html"; 20 if (page == 3) 21 parent.right.document.getElementById("right_bottom").src = "page1.html"; 22 } 23 else { 24 parent.right.document.getElementById("right_bottom").src = "page3.html"; 25 if (page == 2) 26 parent.right.document.getElementById("right_top").src = "page1.html"; 27 } 28 page = sw; 29 } 30 } 31 </SCRIPT> 32 </HEAD> 33 <BODY CLASS="white" STYLE="text-align: center"> 34 <OL CLASS="number"> 35 <LI><A HREF="JavaScript:move(1)">ページ1</A> 36 <LI><A HREF="JavaScript:move(2)">ページ2</A> 37 <LI><A HREF="JavaScript:move(3)">ページ3</A> 38 </OL> 39 </BODY> 40 </HTML>
right.html:上部の IFRAME 要素内に page1.html,下部にも page1.html を表示
<!DOCTYPE HTML> <HEAD> <TITLE>リンク(フレーム)</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <IFRAME ID="right_top" SRC="page1.html" WIDTH="300px" HEIGHT="280px"></IFRAME> <IFRAME ID="right_bottom" SRC="page1.html" WIDTH="300px" HEIGHT="280px"></IFRAME> </BODY> </HTML>
page1.html
<!DOCTYPE HTML> <HEAD> <TITLE>ページ1</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <H1>文書1</H1> <H2>文書1</H2> <H3>文書1</H3> <H4>文書1</H4> <H5>文書1</H5> <H6>文書1</H6> </BODY> </HTML>
page2.html
<!DOCTYPE HTML> <HEAD> <TITLE>ページ2</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <H1>文書2</H1> <H2>文書2</H2> <H3>文書2</H3> <H4>文書2</H4> <H5>文書2</H5> <H6>文書2</H6> </BODY> </HTML>
page3.html
<!DOCTYPE HTML> <HEAD> <TITLE>ページ3</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> <META HTTP-EQUIV="Content-Language" CONTENT="ja"> <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../../master.css"> </HEAD> <BODY CLASS="white" STYLE="text-align: center"> <H1>文書3</H1> <H2>文書3</H2> <H3>文書3</H3> <H4>文書3</H4> <H5>文書3</H5> <H6>文書3</H6> </BODY> </HTML>
01 <!DOCTYPE HTML> 02 <HTML> 03 <HEAD> 04 <TITLE>アニメーション</TITLE> 05 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 07 <STYLE TYPE="text/css"> 08 BODY { width: 650px } 09 IMG.pos { position: absolute; top: 155px; left: 240px; z-index: 2; visibility: hidden; margin: 0px } 10 </STYLE> 11 <SCRIPT TYPE="text/javascript"> 12 state = 0; 13 timerID = 1; 14 function timer() 15 { 16 switch (state) { 17 case 0: 18 document.getElementById("fig1").style.visibility = "visible"; 19 document.getElementById("fig2").style.visibility = "hidden"; 20 document.getElementById("fig3").style.visibility = "hidden"; 21 state = 1; 22 break; 23 case 1: 24 document.getElementById("fig1").style.visibility = "hidden"; 25 document.getElementById("fig2").style.visibility = "visible"; 26 document.getElementById("fig3").style.visibility = "hidden"; 27 state = 2; 28 break; 29 case 2: 30 document.getElementById("fig1").style.visibility = "hidden"; 31 document.getElementById("fig2").style.visibility = "hidden"; 32 document.getElementById("fig3").style.visibility = "visible"; 33 state = 0; 34 break; 35 } 36 clearTimeout(timerID); 37 timerID = setTimeout("timer()", 500); 38 } 39 </SCRIPT> 40 </HEAD> 41 <BODY CLASS="white"> 42 <H1 STYLE="text-align: center">アニメーション</H1> 43 <P STYLE="text-align: center"> 44 <BUTTON TYPE="button" onClick="timer()" STYLE="font-size:100%">表示</BUTTON> 45 </P> 46 <DIV STYLE="text-align: center; font-size: 100pt"><B>?</B></DIV> 47 <IMG ID="fig1" SRC="fig1.jpg" CLASS="pos"> 48 <IMG ID="fig2" SRC="fig2.jpg" CLASS="pos"> 49 <IMG ID="fig3" SRC="fig3.jpg" CLASS="pos"> 50 </BODY> 51 </HTML>
01 <!DOCTYPE HTML> 02 <HTML> 03 <HEAD> 04 <TITLE>アニメーション</TITLE> 05 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 06 <LINK REL="stylesheet" TYPE="text/css" HREF="../../../../master.css"> 07 <STYLE TYPE="text/css"> 08 BODY { width: 650px } 09 IMG.pos { position: absolute; top: 155px; left: 240px; z-index: 2; visibility: hidden; margin: 0px } 10 </STYLE> 11 <SCRIPT TYPE="text/javascript"> 12 state = 0; 13 timerID = 1; 14 function start() 15 { 16 timerID = setInterval("timer()", 500); 17 } 18 19 function timer() 20 { 21 switch (state) { 22 case 0: 23 document.getElementById("fig1").style.visibility = "visible"; 24 document.getElementById("fig2").style.visibility = "hidden"; 25 document.getElementById("fig3").style.visibility = "hidden"; 26 state = 1; 27 break; 28 case 1: 29 document.getElementById("fig1").style.visibility = "hidden"; 30 document.getElementById("fig2").style.visibility = "visible"; 31 document.getElementById("fig3").style.visibility = "hidden"; 32 state = 2; 33 break; 34 case 2: 35 document.getElementById("fig1").style.visibility = "hidden"; 36 document.getElementById("fig2").style.visibility = "hidden"; 37 document.getElementById("fig3").style.visibility = "visible"; 38 state = 0; 39 break; 40 } 41 } 42 </SCRIPT> 43 </HEAD> 44 <BODY CLASS="white"> 45 <H1 STYLE="text-align: center">アニメーション</H1> 46 <P STYLE="text-align: center"> 47 <BUTTON TYPE="button" onClick="start()" STYLE="font-size:100%">表示</BUTTON> 48 </P> 49 <DIV STYLE="text-align: center; font-size: 100pt"><B>?</B></DIV> 50 <IMG ID="fig1" SRC="fig1.jpg" CLASS="pos"> 51 <IMG ID="fig2" SRC="fig2.jpg" CLASS="pos"> 52 <IMG ID="fig3" SRC="fig3.jpg" CLASS="pos"> 53 </BODY> 54 </HTML>
静岡理工科大学 | 菅沼ホーム | JavaScript目次 | 索引 |