JavaScript 演習2 1. 前回の補足説明+復習 IE における JavaScript のデバッグ方法 prompt 関数 演習問題1.

Slides:



Advertisements
Similar presentations
JavaScript における DOM 操作 XML 読み込み Ajax( 動的 HTML 編集 ) 情報システム工学科ラシキアゼミ 3年 H 107072 田中直樹.
Advertisements

1 山口研究室 後期博士課程 2 年 玉川 奨 ( たまがわ すすむ ) 居室: 24 - 604 / 23 - 620 mail : JavaScript 演習1.
1 検索 ● 検索: 特定の文字列を探す ⓪検索を行う範囲を限定するときは、範囲選択をする。 ① 「ホーム」タブ⇒「編集」⇒「検索」タブとクリックする。 ②「検索する文字列」欄に検索したい文字を入力する。 ③「次を検索する」をクリックする。 ③ ‘ 「検索された項目の強調表示」⇒「すべて強調表示」とクリックすると、
1 検索 ● 検索:特定の文字列を探す ⓪検索を行う範囲を限定する ときは、範囲選択をする。 ① メニューバーの「編集」 → 「検索」とクリックする。 ②「検索する文字列」欄に検 索したい文字を入力する。 ③「次を検索する」または 「すべて検索」をクリック する。 ※「コピー」&「貼り付け」 でも入力できる。
1 WORD の起動法と終了法 ● WORD の起動法 (1) デスクトップの Microsoft Word アイ コンをダブルクリックする。 * (2) 「スタート」 ― 「すべてのプログラ ム」 ― 「 Microsoft Word 」と選ぶ。 (3) Word で作成された文書があるとき は、そのアイコンをダブルクリック.
情報アプリケーション1 2006 年 10 月 12 日 第四回資料 担当 重定 如彦. 目次 データの送信とフォーム クイズ CGI 複数のパーツのデータの分割方法 配列変数.
第6回 JavaScript ゼミ セクション3-6 発表者 直江 宗紀. 組み込み関数  JavaScript に予め用意された関数  特定のオブジェクトに依存していない  単に関数名で呼び出すことが可能.
1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
WEB デザイン基礎実 験 担当:清水,田代 副手:浦辺,石井 ( 1 日目) NC-2 情報通信基礎実験.
プログラミング実習 1 ・ 2 ク ラス 第 2 週目 担当教員 : 渡邊 直樹. 課題 2 ● 2 × 2型行列の固有値, 固有ベクトルを求め る EigMatrix.java というプログラムを作成せ よ。 ● 行列の各要素はコマンド・プロンプトから入力 ● 計算した結果もコマンド・プロンプトに表示.
JavaScript 演習3 1 山口研究室 後期博士課程 3 年 玉川 奨 ( たまがわ すすむ ) 居室: 24 - 604 / 23 - 620 mail :
情報基礎演習I(プログラミング) 第9回 6月22日 水曜5限 江草由佳
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
GridLayout オブジェクト(省略)
情報処理 第8回.
バリデータ J2EE II 第11回 / 2006年1月19日.
Microsoft PowerPoint98 Netscape Communicator 4.06[ja]
JavaScript 演習1.
JavaScript プログラミング入門 2006/11/10 神津.
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第4回 配列(2) 情報・知能工学系 山本一公
プログラミング基礎I(再) 山元進.
プログラミング言語としてのR 情報知能学科 白井 英俊.
JavaScriptゼミ第2回 2-2 変数とリテラル 発表者 直江宗紀.
NC-2 情報通信基礎実験 WEBデザイン基礎実験 (2日目) 担当:清水,田代 副手:浦辺,石井.
デスクトップを画像として保存する(1) ① デスクトップの画像をクリップボードへコピーする。
11.1 表の作成 表の各部名称 列 行 セル 罫線.
情報システム工学科 ラシキアゼミ 3年 H 田中直樹
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
キーボードでの指の位置と入力範囲 ◎左手の指のホームポジション(入力しないときの位置): 小指-「A」 薬指-「S」 中指-「D」 人差し指-「F」(突起あり) ◎右手の指のホームポジション: 人差し指-「J」 (突起あり) 中指-「K」 薬指-「L」 小指-「;」 ◎親指は「スペース」キーの上に置く。
エンタープライズアプリケーション II 第10回 / 2006年7月23日
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
Webコミュニケーショングループ ~PHPの基礎~ M1 宮崎 真.
オペレーティングシステムⅡ 第3回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/10/16.
JavaScript 成瀬 基樹 平野 敦 北浦 繁.
Bottle/Pythonによる Webアプリ入門
見た目を定義する技術 CSS(スタイルシート).
プログラミング実習 1・2 クラス 第 1 週目 担当教員:  渡邊 直樹.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
情報検索演習 第8回 パソコンを起動しておくこと 前から4列目までに着席すること 2005年11月30日 後期 水曜5限
JavaScript 演習3 山口研究室 後期博士課程2年 玉川 奨 (たまがわ すすむ) 居室:24-604 / 23-620
NC-2 情報通信基礎実験 WEBデザイン基礎実験 (1日目) 担当:清水,田代 副手:浦辺,石井.
基礎プログラミング演習 第7回 繰り返し.
Servlet入門(2) 入力フォームをつかったWebアプリ
ウェブデザイン演習 第一回 オリエンテーション.
データベース設計 第9回 Webインタフェースの作成(1)
マイクロソフト Access での SQL 演習 第1回 SQL問い合わせ(クエリ)
Microsoft PowerPoint Netscape Communicator
第8章 Web技術とセキュリティ   岡本 好未.
基礎プログラミング演習 第10回.
第4回JavaScriptゼミ セクション2-8 発表者 直江 宗紀.
情報処理 第8回.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
基礎プログラミング演習 第5回 関数とイベントを使ったプログラム.
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
エンタープライズアプリケーション II 第9回 / 2006年7月23日
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
コンピュータ プレゼンテーション.
PHP 概要 担当 岡村耕二 月曜日 2限 平成22年度 情報科学III (理系コア科目・2年生)
基礎プログラミング演習 第12回.
プログラミングⅠ 平成30年10月22日 森田 彦.
12 Microsoft Word(3) 12.1 表の作成 表の各部名称 列 行 セル 罫線.
データ構造とアルゴリズム (第5回) 静岡大学工学部 安藤和敏
基礎プログラミング演習 第6回.
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
基礎プログラミング演習 第3回.
Webページに動きを持たせるJavascript言語について 例題のプログラムを通して体験的に理解することとします。
ウェブデザイン演習 第6回.
情報処理基礎 2006年 6月 29日.
例題のプログラムを通して JavaScriptの仕組みを理解することとします。
Presentation transcript:

JavaScript 演習2 1

前回の補足説明+復習 IE における JavaScript のデバッグ方法 prompt 関数 演習問題1

IE における JavaScript のデバッグ方法 IEを再起動 1. ツール → インターネットオプションメニューを実行 2. 詳細設定タブの「スクリプトエラーごとに通知を表示する」を チェック 「スクリプトのデバッグを使用しない (Internet Explorer) 」の チェックをはずす 3.IE を再起動

prompt 関数 prompt( 引数 ) -引数をメッセージとして表示し,ユーザ からの入力情報(文字列)を取得する関数 ex9.html 4 var value = prompt(" 値を入力してください. "); alert(value); document.write(' prompt 関数 '); document.write(' ' +value + ' ');

演習問題1 prompt 関数と document.write 関数を用いて ,ユーザから入力されたテキスト,文字 の色,文字のサイズ( % )に応じて,表示 内容を変化させる JavaScript プログラムを 書きなさい 5 上記の例をタグで表現する と・・・ Hello, World ヒント

本日の内容 条件分岐 繰り返し parseInt 関数と parseFloat 関数 演習 2 document.getElementById 関数 演習 3 イベント処理 基本的なフォーム テキストボックスの入力値の取 得 配列 DOM ( Document Object Model ) ラジオボタンで選択された値の 取得 リスト(コンボ)ボックスで選 択された値の取得 チェックボックスで選択された 値の取得 提出課題

条件分岐 ex10.html, ex11.html if 文 switch 文 7 if ( 条件 1) { 文 1; } else if ( 条件 2) { 文 2; ・・・・・ } else { 文 N; } 条件の部分には, 論理値( true or false) が入る switch ( テストデータ ) { case マッチデータ1 : 文1 ; break; case マッチデータ2 : 文2 ; break; default: 文3 ; break; } break 文を使って他の選択肢が 実行されないようにする マッチする選択肢が なかったときに実行

繰り返し ex12.html for 文 while 文 8 for ( 初期化 ; テスト ; 更新 ) { アクション ; } 初期化 ; while ( テスト ) { アクション ; 更新 ; } for (var i=0;i<5;i++) { document.write(" " + i + " "); } var i = 0; while(i< 5){ document.write(" " + i + " "); i++; }

parseInt 関数と parseFloat 関数 parseInt( 引数 ) – 引数で文字列を渡すと数値に変換 parseFloat( 引数 ) – 引数で文字列を渡すと浮動小数点に変換 ex13.html 9

演習問題 2 “Hello!” という文字列をユーザが入力した数だけ 表示する JavaScript プログラムを作成しなさい 行数を 5 で割った余りが 1 の場合には赤色,2の 場合には緑色,3の場合には黄色, 4 の場合には 黒, 0 の場合には青色,さらに, 3 の倍数の場合 には 200% の大きさで ”Hello!” を表示しなさい 10 ヒン ト 1%5=1, 2%5=2, 3%5=3 ・・・ Hello!

document.getElementById 関数 document.getElementById( 引数 ) – 引数で指定した要素オブジェクトを得る document.getElementById( 引数 ).innerHTML – 引数で指定した要素オブジェクトの HTML を得る document.getElementById( 引数 ).style.CSS プロパテ ィ – 引数で指定した要素オブジェクトの CSS プロパティを得 る –CSS プロパティ名は,基本的には「ハイフン (-) 」を除去 し,ハイフンの後の文字を大文字に変換したものを用いる – 参考: 11

オブジェクトのイメージ Hello document.getElementById(“id1”) 属性: 色 (style.color): black HTML テキスト (innerHTML): Hello document.getElementById(“id1”).innerHTML = ‘Hello, World’; document.getElementById(“id1”).style.color = ‘red’; H1 要素のオブジェクト Hello, World

document.getElementById 関数 13 function test() { var h1Value = document.getElementById("id1").innerHTML; alert(h1Value); document.getElementById("id1").innerHTML = prompt(''); var item1 = document.getElementById("item1").innerHTML; alert(item1); var item2 = document.getElementById("item2").innerHTML; alert(item2); var item1 = document.getElementById("item3").innerHTML; alert(item3); document.getElementById("divid").innerHTML = " テスト "; document.getElementById("divid").style.color = "red"; document.getElementById("divid").style.fontSize = "200%"; document.getElementById("divid").style.backgroundColor = "black"; } ex14.html document.getElementById 関数 項目 1 項目 2 項目 3 JavaScript HTML onload=‘ 関数名 ’ ドキュメントが完全 に読み込まれた後に 指定した関数を呼び 出す div は「 division (区画)」の略 他の要素をまとめて,構造化する際 に用いられる JavaScript で操作する対象になる

演習問題 3 div 要素に id 属性を指定し, JavaScript プログラ ムにより div 要素の CSS プロパティを設定し,以 下の長方形を表示するプログラムを作成せよ 14 <div style="position:absolute; top:40; left:40; width:150; height:250; background-color:#0000FF; border: thick solid red; visibility: visible;"> function showRect() { document.getElementById(“rect”).style. ・・・ ・ } JavaScriptHTML ヒント

イベント処理 JavaScript では、ユーザからの入力があると Web ブラウザがイベン トを生成 – 例えば、キーボードを押したり、マウスを動かしたりクリックしたり するなど様々な場面でイベントが発生する あるイベントが発生した際に、そのイベントに対するイベントハ ンドラを定義しておけば、インタラクティブなページを作ることが 可能 イベントハンド ラ 発生契機サポートする HTML 要素 onblur 要素が入力フォーカスを失った 時,,,,, onchange 入力フォーカスが移された時と 要素の値が変わった時,, onclick マウスを一回クリックした時大半の要素 onmouseover マウスが要素の上に移動した大半の要素 onkeydown(up) ユーザが何かキーを押したフォーム要素と onload ページが読み込まれた時 body 要素と共によく用いら れる

基本的なフォーム テキスト –input 要素の type 属性が text ラジオボタン –input 要素の type 属性が radio –name 属性の値を共通にすることでグループ化できる –value 属性で値を指定 メニュー(リストボックスとコンボボックス) –select 要素と option 要素 –select 要素の size 属性の値が 1 の場合 にはコンボボックス, 2 以上の場合には リストボックス –option 要素の value 属性で値を指定 チェックボックス –input 要素の type 属性が checkbox –value 属性で値を指定 テキストエリア –textarea 要素 –rows 属性で行数, cols 属性で列数を表す ボタン –input 要素の type 属性が button (または, submit, reset ) XXX ~

テキストボックスの入力値の取 得 テキストボックス内に入力したデータを、 ボタンが押されたら div 要素に出力 ex15.html 17

テキストボックスの入力値の取 得 文字を入力してください。 function getValue() { var text = document.getElementById("input").value; document.getElementById("output").innerHTML = text; } function checkValue() { var text = document.getElementById("input").value; if (text == "") { alert(" 文字を入力してください. "); } else { alert("OK"); } JavaScript HTML

演習問題4 テキストボックスを2つ作成し,入力値の 加算結果を div 要素に出力せよ –parseFloat 関数を利用すること – 余力があれば,数値かどうかのチェックも行 うこと isNaN ( Not a Number )関数を利用すると,入力値 が数値かどうかを判別可能 ( 数値でない場合に true を返す) 演習問題4は提出する必要は ありません.

演習問題4 さらに余力がある人は,テキストボックスの横の div 要 素に以下のメッセージを出力するようにしてみてくだ さい – テキストボックスが空の場合には「数値を入力してください」 – テキストボックスが数値以外の場合には「数値ではありません 」 – テキストボックスが数値の場合には「OK」 ex15.html の onkeyup イベントハンドラを用いること メッセージは上記のとおりでなくても良い

配列 ex16.html 配列の生成 var a = new Array(); a[0] = 1.2; a[1] = "JavaScript"; a[2] = true; a[3] = {x:1, y:3}; var a = [1.2, "JavaScript", true, {x:1, y:3}]; 配列のサイズを指定するときは var a = new Array(10); オブジェクトの型が異なっても格納することができ る 連想配列 a[score] = "88 点 "; 配列の添字を文字列にすることができる 21

DOM ( Document Object Model ) 文書のトップである Document オブジェク トから下位の階層の構造を表すモデル 「 JavaScript DOM リファレンス」

DOM 関数の例 ex17.html document.getElementById(id) – 引数に指定した id を持つ DOM オブジェクトを 返す document.createElement( 要素 ) – 引数で指定した HTML 要素を作成する オブジェクト.setAttribute( 属性名, 値 ) – オブジェクトの属性に値をセットする オブジェクト.appendChild( オブジェクト ) – 指定したオブジェクトにオブジェクトを追加 する

DOM 関数の例 function domTest() { var divObj = document.getElementById("dom_test"); var h1Obj = document.createElement("h1"); h1Obj.setAttribute("style", "color: navy;"); h1Obj.innerHTML = "Hello, World!"; divObj.appendChild(h1Obj); var colorArray = ["red", "blue", "green", "yellow"]; for (var i = 0; i < colorArray.length; i++) { var pObj = document.createElement("p"); pObj.innerHTML = "DOM を用いて追加された段落 " + i; pObj.style.fontSize = "200%"; pObj.style.color = colorArray[i]; divObj.appendChild(pObj); } JavaScript HTML

ラジオボタンで選択された値の取得 ex18.html

ラジオボタンで選択された値の取 得 あなたの性別を教えて下さい. 男 女 男 function getRadioValue(){ var radioForm = document.getElementById("radio_form"); for (var i = 0; i < radioForm.length; i++) { var radioButton = radioForm.elements[i]; if (radioButton.checked) { document.getElementById("output").innerHTML = radioButton.value; break; } JavaScript HTML

演習問題5 ex18.html を元に,男を選択した場合には 青色マークを女を選択した場合には赤色 マークを出力するようにせよ – ヒント: を 男 の前に挿入 演習問題5は提出する必要 は ありません.

リスト(コンボ)ボックスで 選択された値の取得 ex19.html

リスト(コンボ)ボックスで 選択された値の取得 ペンギン トラ ライオン アザラシ function getSelectValue(){ var html = " "; var selectElement = document.getElementById("select_element"); for (var i = 0; i < selectElement.length; i++) { var item = selectElement.options[i]; if (item.selected) { html += " " + item.value + " "; } html += " "; document.getElementById("output").innerHTML = html; } JavaScript HTML コンボボックスに変更したい場合 は, select 要素の size 属性の値を 1 にし, multiple を削除すれば良い. ( multiple を付けるとリストボッ クスで複数項目を選択できるよう になる.)

チェックボックスで 選択された値の取得 ex20.html

チェックボックスで 選択された値の取得 ペンギン トラ ライオン アザラシ function getCheckBoxValue(){ var html = " "; var checkboxForm = document.getElementById("checkbox_form"); for (var i = 0; i < checkboxForm.length; i++) { var checkbox = checkboxForm.elements[i]; if (checkbox.checked) { html += " " + checkbox.value + " "; } html += " "; document.getElementById("output").innerHTML = html; } JavaScript HTML

提出課題 32

課題1(基本) テキストボックスに幅と高さを入力し,背景色を ラジオボタンから選択し,ボタンを押すと, div 要 素に入力した値に応じた矩形が表示されるように する ボタンを押すと 入力値に応じて 矩形が変化

課題1(発展) 発展課題(例) 余力がある人は,さらに,表示 する矩形の個数や枠の幅や色も 指定できるようにしてみましょ う.

課題2 アンケート項目の内容を整形して画面に 出力 1. 入力値のチェック (空だったらアラートなど ) 2. タグを利用して出 力 3. チェックボックスの活用 4. リストボックスの活用 発展課題(例) 入力情報を画面に表示 必須 1. テキストボックスとボタ ンを用いて, div 要素に入 力内容を整形して表示す る 2.onclick 以外のイベントハ ンドラを最低1つは用い ること

レポート1 授業中に行った演習問題1,2,3を以下のア ドレスにメールで提出 – 提出先 To : – 提出期限 6月3日(金)13:00まで :次回授業前まで – メールの件名 : 学籍番号 _ 氏名 _JS 演習 1 ファイル名は以下のようにすること – 学籍番号 _ 氏名 _JS 演習問題 1.html – 学籍番号 _ 氏名 _JS 演習問題 2.html – 学籍番号 _ 氏名 _JS 演習問題 3.html 36 学籍番号、アンダーバーは必ず半角でお願いします

レポート2 締切 6 月 24 日(金) 23:59 までにメールを送信 メール宛先 To : メールの件名 学籍番号 _ 氏名 _JS 演習 2 学籍番号,アンダーバーは必ず半角でお願いします 添付すべきファイル word ファイル ( レポート本文 ) 2~3枚程度,ファイル名「学籍番号 _ 氏名 _JS 演習2.doc 」 課題 1.html ,課題 2.html JavaScript と CSS を別ファイルにした場合には,それら のファイルも添付すること

レポート2 レポート本文に書くべき項目 動作確認行ったブラウザ (IE or Firefox) 作成した JavaScript の解説 HTML , CSS , JavaScript を書く上で工夫した 点 感想 注意 課題1と2共に工夫をしなくても合格点は出ますが ,工夫がしてある場合には評価します 機能性・技術性・デザイン性・工夫した点を評価し ます CSS, JavaScript はできれば別ファイルとして書く方 が望ましいです

問い合わせ先 第1研究室 A 第2研究室 B 気軽にお越しください ♪ 優しい山口研メンバーが待ってます。