<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>yamablo &#187; Javascript</title>
	<atom:link href="http://yamablo.com/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://yamablo.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 01 Aug 2010 02:53:20 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://yamablo.com/tag/javascript/feed" />
		<item>
		<title>現在使用しているブックマークレット</title>
		<link>http://yamablo.com/2010/01/24-222633.php</link>
		<comments>http://yamablo.com/2010/01/24-222633.php#comments</comments>
		<pubDate>Sun, 24 Jan 2010 13:26:33 +0000</pubDate>
		<dc:creator>yama3</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ブックマーク]]></category>
		<category><![CDATA[ブックマークレット]]></category>
		<category><![CDATA[ブラウザ]]></category>

		<guid isPermaLink="false">http://yamablo.com/?p=1098</guid>
		<description><![CDATA[ブックマークレットとは、JavaScriptで記述された（比較的）小さなプログラムである。主に、ブラウザのブックマークに登録して利用することから、この名称がついている。このブックマークレットを最近はどんどん使っているため [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ブックマークレット</strong>とは、JavaScriptで記述された（比較的）小さなプログラムである。主に、ブラウザのブックマークに登録して利用することから、この名称がついている。このブックマークレットを最近はどんどん使っているため、自分の使っているブラウザ(Chromeブラウザ)のブックマークバーは多くのブックマークで溢れそうな状態です。自分は基本的にウェブページをブックマークすることはなく、普段からよくアクセスするサイト（20～30サイトほど）を見ようとするときは、直接アドレスバーにURLを打ち込むという特殊な使い方（？）をしていたため、全くブックマークを使っていなかったのですが、このブックマークレットを多く使い始めてからはブックマークの量が少しずつ増えてきました。</p>
<p>ということで、この記事では自分が使っているブックマークレットの中で便利なものをいくつか紹介しようかと思います。</p>
<h3>ブログを書く人ならeMiniA</h3>
<p>ブログを書く人ならこのeMiniAというブックマークレットは手放せないツールになるでしょう。自分自身もこのeMiniAによって、ブックマークレットの世界に引き込まれました。このブックマークレットは、今自分が見ているウェブページのURLとページタイトルを元に、そのページへのリンクタグを生成してくれるブックマークレットです。ブログを書いていて、ちょっと引用したいなぁとか、リンクを貼りたいなぁというときに、URLをコピペして、リンクタグを書いて、href属性にURLをペーストして・・・と毎回毎回やるのは大変ですよね。そんなブロガーの方にはオススメです。ちなみに、自分が使っているeMiniAはtarget属性に_blankを付加したリンクタグを生成し、eMiniAとは別にeMiniBというブックマークレットはtarget属性が設定されていないタイプです。eMiniAをご利用予定の方は以下のURLからどうぞ。</p>
<ul>
<li><a href='http://e0166.blog89.fc2.com/blog-entry-631.html' target='_blank'> 瞬時に見ているURLのaタグを作成するJavaScript完結のブックマークレット*ホームページを作る人のネタ帳</a></li>
</ul>
<p><span id="more-1098"></span></p>
<h3>RSSをGoogle リーダーで読む人ならReader登録</h3>
<p>RSSリーダーを使ってブログを読む人も最近は増えてきました。こういったRSSリーダーでブログを読む人の煩わしい点はブログのRSSリーダーへの登録でしょうか？もしGoogle リーダーを用いてRSSを購読しているのであれば、Google リーダー登録用のブックマークレットがありますので、それを使用すると、Google リーダーへのRSSの登録が簡単になるでしょう。</p>
<ul>
<li><a href='http://bookmarklet.web.fc2.com/bookmarklet_039.html' target='_blank'>GoogleReaderに追加 :: ブックマークレット</a></li>
</ul>
<h3>JavaScriptベンチマーク用ブックマークレット</h3>
<p>このブックマークレットは、ウェブブラウザの性能比較の際に最近よく使われるようになったJavaScriptのベンチマークを行ってくれるブックマークレットです。各ブラウザのアドオンにより同様のベンチマークを行うことのできるものも存在するのでしょうが、このベンチマークの目的は、ほかブラウザとの比較なので、ブックマークレットだけでできるというのは、どのブラウザでも構わない（厳密には実装によるが）というのはベンチマークという目的上妥当ではないでしょうか？</p>
<ul>
<li><a href='http://jsbenchmark.celtickane.com/' target='_blank'>   Welcome to JSBenchmark &#8211; a benchmarking utility for Javascript engine comparison for web browsers </a></li>
</ul>
<h3>短縮URL用ブックマークレット</h3>
<p>短縮URLと言えば、twitterなどですっかりお馴染みになったようですが、様々な短縮URLサービスが出ています。そんな中で自分はBit.lyの短縮URLサービスのブックマークレットを利用しています。普段twitterに投稿するときは、Google Chromeのアドオンの1つである<strong>Chromed Bird</strong>を使っているので、簡単にできるのですが、Chromed Birdの調子が悪い時や、別の目的で使うときなどこの短縮URL用のブックマークレットにはお世話になっています。</p>
<ul>
<li><a href='http://bit.ly/pages/tools' target='_blank'>bit.ly, a simple url shortener</a></li>
</ul>
<h3>ウェブクリップ Evernote</h3>
<p>Evernoteの公式日本語版アプリケーションがリリースされるとのことで、一部では話題になっている<strong>Evernote</strong>にもブックマークレットが存在します。ウェブページ上で、必要な箇所をドラッグ＆ドロップで選択し、ブックマークレットをクリックすれば、選択した箇所をEvernoteによりクリップします。これはとても便利ですね。これは各ブラウザ用のアドオンなどによって実現されていることも多いので、もしもアドオンのほうが使い勝手が良ければそちらを選択するほうがいいかもしれませんが、ブラウザのアドオンの使い勝手が悪いなぁと感じている人にとっては利用するといいかもしれませんね。</p>
<ul>
<li><a href='http://bookmarklet.web.fc2.com/bookmarklet_049.html' target='_blank'>Evernoteでクリップ :: ブックマークレット</a></li>
</ul>
<h3>ほかには？</h3>
<p>ブックマークレットはウェブ上に多く存在するので、ここに掲載したもの以外にも便利なブックマークレットを見つけたら実際に使ってみるといいでしょう。ブックマークレットを探すときは以下のサイトを参考にしてみては？</p>
<ul>
<li><a href='http://bookmarklet.web.fc2.com/index.html' target='_blank'>Webブラウザを10秒でもっと便利にするブックマークレット</a></li>
</ul>
<p><strong>関連記事</strong>
<ul class="similar-posts">
<li><a href="http://yamablo.com/2009/06/20-170448.php" title="ウェブブラウザ比較">ウェブブラウザ比較</a></li>
<li><a href="http://yamablo.com/2009/05/27-131606.php" title="最近ブックマークしたブログ記事＆ニュース記事">最近ブックマークしたブログ記事＆ニュース記事</a></li>
<li><a href="http://yamablo.com/2009/12/30-185101.php" title="HTML5における新しいフォームのマークアップ">HTML5における新しいフォームのマークアップ</a></li>
<li><a href="http://yamablo.com/2009/05/31-120941.php" title="最近ブックマークしたブログ記事＆ニュース記事">最近ブックマークしたブログ記事＆ニュース記事</a></li>
<li><a href="http://yamablo.com/2009/05/01-193014.php" title="[Ajax勉強中] インストールからテストまで">[Ajax勉強中] インストールからテストまで</a></li>
</ul>
<p><!-- Similar Posts took 19.350 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://yamablo.com/2010/01/24-222633.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://yamablo.com/2010/01/24-222633.php" />
	</item>
		<item>
		<title>HTML5における新しいフォームのマークアップ</title>
		<link>http://yamablo.com/2009/12/30-185101.php</link>
		<comments>http://yamablo.com/2009/12/30-185101.php#comments</comments>
		<pubDate>Wed, 30 Dec 2009 09:51:01 +0000</pubDate>
		<dc:creator>yama3</dc:creator>
				<category><![CDATA[Webサービス]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://yamablo.com/?p=945</guid>
		<description><![CDATA[現在使われているWEBのマークアップ言語HTMLの新バージョン5の仕様がいろいろなところで公開されています。このHTML5では、今までのバージョン4と比べ、非常に多くのタグを利用可能になっております。これらのHTML5で [...]]]></description>
			<content:encoded><![CDATA[<p>現在使われているWEBのマークアップ言語HTMLの新バージョン5の仕様がいろいろなところで公開されています。このHTML5では、今までのバージョン4と比べ、非常に多くのタグを利用可能になっております。これらのHTML5で新しく使えるようになったタグの多くは、セマンティック・ウェブの実現、インタラクティブなウェブページの開発を容易にすることに目を向けたタグになっています。そこでこの記事では、HTML5で新しくなったものの1つであるフォームについて解説しようと思います。</p>
<p>なお、当記事は、<a href="http://html5doctor.com/designing-a-blog-with-html5/" target="_blank">&lt;html&gt;5 doctor::Designing a blog with html5</a>の記事を、自分なりに和訳して理解したものを書いています。場合によっては和訳が間違っており、正しくないことを書いてしまっている場合もあります。もし、おかしな点などございましたら、上記サイトから、該当箇所を確認していただくか、コメント欄やtwitter(<a href="http://twitter.com/1987yama3" target="_blank">@1987yama3</a>)までご連絡いただけたらと思います。</p>
<p><span id="more-945"></span></p>
<h3>inputタグのバリデーション</h3>
<p>inputタグといえば、今までは、さまざまな入力フォームを生成するタグでした。今まではそのtype属性にtextと入れてテキスト入力を、reset, submitなどでボタンといったように見た目だけを変更することはできたのですが、そのロジック（論理部分）は変えることができませんでした。それが今回のHTML5では、大幅に強化され、様々な指定ができるようになりました。</p>
<p>具体的には、今まで入力されたデータが開発者の意図したものとなっているか<br />
どうかをチェックするのに、サーバーサイド・スクリプトでバリデーションを行ったり、JavasScriptを記述してバリデーションを行ったりしていました。これをブラウザ側でバリデーションを行うことができるようになった点が新しいと思われます。例えば、inputタグのtype属性にemailを記述することで、該当のテキスト・フォームに入力された値がemailであるかどうかがチェックされます。このようなバリデーションを行うことができる入力は、email以外にもurl（Web上のURL）やnumber（数字であるかどうか）などが存在します。また、デフォルトで設定できなくても、正規表現によるバリデーションも規定されるようですので、開発者にとって、開発をスムーズにできるようになります。</p>
<h3>日付入力の支援</h3>
<p>Web上のフォームに何らかの日付を入力してもらう、という場面はよくあります。このような日付入力の際、その方法は開発者が決めています。その入力方法は<br />
大きく分けると</p>
<ul>
<li>テキストボックスに記述方法を指定する、</li>
<li>ドロップダウンリストから年・月・日を選ばせる、</li>
<li>カレンダー・ウィジェットのようなGUIを利用する(JavaScriptを利用)、</li>
</ul>
<p>の3通りかと思います。この3つは、上にあるものほど実装が簡単で、下に行くほど実装が複雑になります。逆に、上にあるものはエラー入力が多く、下にあるものほどエラー入力が少なくなり、ユーザにとっても便利な実装です。</p>
<p>今までは日付入力の際に、ユーザの利便性を採るか、開発の容易性をとるかで選択を迫られていましたが、HTML5ではそのどちらも犠牲にすることはありません。具体的には、簡単なHTMLを記述するだけでブラウザ側がウィジェットを出力するようになります。具体的には、inputタグのtype属性をdateに設定することで、該当のテキストボックスにフォーカスが移動された際にブラウザがそのテキストボックスの付近にカレンダー・ウィジェット（DATEピッカー）を表示してくれます。そのため、開発者側は、input type=&#8221;date&#8221;とするだけ、ユーザにとっても、日付入力はどのサイトでもカレンダー・ウィジェットから指定できる統一性というメリットがあります。/p></p>
<p>また、開発者側にとっての一番のメリットは、ユーザの環境を考える必要がない、ということでしょうか。今までもJavaScriptを利用してカレンダー・ウィジェットを使うことはできたのですが、JavaScriptを利用できないユーザーにはこのカレンダー・ウィジェットを使ってもらうことができません。今回のHTML5のカレンダー・ウィジェットはJavaScriptを利用していないため、ユーザがJavaScriptを利用しているか否かに関わらず同一の操作性を提供することが可能になります。</p>
<h3>まとめ</h3>
<p>今までJavaScriptを書いて、入力フォームのロジックを変更していた部分が、今回のHTML5ではHTMLタグだけで、しかも簡単な記述で行うことができるということでなかなか便利になることが期待できます。問題は、HTML5への移行がいつくらいになるかでしょう。しかし、移行のタイミングがいつであったとしても、必ずその時期はやってきます。早い時期からHTML5を用いた適切なマークアップを勉強してみてはいかがでしょうか？</p>
<h3>参考サイト</h3>
<ul>
<li><a href="http://html5doctor.com/designing-a-blog-with-html5/" target="_blank">&lt;html&gt;5 doctor::Designing a blog with html5</a></li>
</ul>
<p><strong>関連記事</strong>
<ul class="similar-posts">
<li><a href="http://yamablo.com/2010/01/07-001358.php" title="HTML5によるブログのマークアップ">HTML5によるブログのマークアップ</a></li>
<li><a href="http://yamablo.com/2010/08/01-115320.php" title="HTML5の機能を使って簡単なゲームを作ってみた">HTML5の機能を使って簡単なゲームを作ってみた</a></li>
<li><a href="http://yamablo.com/2010/07/31-133013.php" title="HTML5/CSS3とスマートフォン・アプリケーション">HTML5/CSS3とスマートフォン・アプリケーション</a></li>
<li><a href="http://yamablo.com/2009/05/02-102105.php" title="[Ajax勉強中] パスワード確認欄のチェック機能">[Ajax勉強中] パスワード確認欄のチェック機能</a></li>
<li><a href="http://yamablo.com/2010/01/24-222633.php" title="現在使用しているブックマークレット">現在使用しているブックマークレット</a></li>
</ul>
<p><!-- Similar Posts took 18.033 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://yamablo.com/2009/12/30-185101.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://yamablo.com/2009/12/30-185101.php" />
	</item>
		<item>
		<title>[Ajax勉強中] パスワード確認欄のチェック機能</title>
		<link>http://yamablo.com/2009/05/02-102105.php</link>
		<comments>http://yamablo.com/2009/05/02-102105.php#comments</comments>
		<pubDate>Sat, 02 May 2009 01:21:05 +0000</pubDate>
		<dc:creator>yama3</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[チェック機能]]></category>
		<category><![CDATA[パスワード]]></category>
		<category><![CDATA[プログラム]]></category>

		<guid isPermaLink="false">http://yamablo.com/2009/05/02-102105.php</guid>
		<description><![CDATA[昨日に引き続きAjax勉強中に関する記事になります。とりあえず昨日作ってみたJavascriptによる
パスワード確認欄のチェック機能です。いろいろなサービスの新規登録時に
パスワード、パスワード（確認用）の2回パスワー [...]]]></description>
			<content:encoded><![CDATA[<p>昨日に引き続きAjax勉強中に関する記事になります。とりあえず昨日作ってみたJavascriptによる<br />
<strong>パスワード確認欄のチェック機能</strong>です。いろいろなサービスの新規登録時に<br />
パスワード、パスワード（確認用）の2回パスワードを入力することが多いのですが、この入力した<br />
２つのパスワードが一致するかどうかをリアルタイムで確認する機能になります。今まではこの機能を<br />
実装すべきときは、PHPを使ってサーバー側で処理をしていたのですが、これだと一度入力した全データを<br />
サーバー側に送らなければいけないのでユーザとしては不便です。それをクライアントPC上で完結させるために<br />
Javascriptの出番となるわけです。</p>
<h3>スクリプト(register.js)</h3>
<ol style="background-color: #b0c4de;">
<li>/*&nbsp;***************************************</li>
<li>&nbsp;*&nbsp;パスワードチェックを行うスクリプト。</li>
<li>&nbsp;*&nbsp;&lt;input&nbsp;type=&#8221;password&#8221;&nbsp;id=&#8221;passwd&#8221;&nbsp;/&gt;</li>
<li>&nbsp;*&nbsp;と</li>
<li>&nbsp;*&nbsp;&lt;input&nbsp;type=&#8221;password&#8221;&nbsp;id=&#8221;passwd_conf&#8221;&nbsp;/&gt;</li>
<li>&nbsp;*&nbsp;の入力ボックス内に変化があったときに関数passwd_checkが</li>
<li>&nbsp;*&nbsp;発動し、２つのパスワードが一致しなかった場合には、</li>
<li>&nbsp;*&nbsp;id=resultの要素にその旨のメッセージを出力する。</li>
<li>&nbsp;*&nbsp;***************************************&nbsp;*/</li>
<li>function&nbsp;passwd_check()&nbsp;{</li>
<li>&nbsp;&nbsp;//&nbsp;パスワード入力ボックス内の文字を取得する。</li>
<li>&nbsp;&nbsp;var&nbsp;passwd&nbsp;=&nbsp;$F(&#8220;passwd&#8221;);</li>
<li>&nbsp;&nbsp;var&nbsp;passwd_conf&nbsp;=&nbsp;$F(&#8220;passwd_conf&#8221;);</li>
<li></li>
<li>&nbsp;&nbsp;//&nbsp;パスワード入力ボックス内の文字を比較する。</li>
<li>&nbsp;&nbsp;if(&nbsp;passwd&nbsp;!=&nbsp;passwd_conf&nbsp;)&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;$(&#8216;result&#8217;).innerHTML&nbsp;=&nbsp;&#8221;パスワードが一致しません。&#8221;;</li>
<li>&nbsp;&nbsp;}&nbsp;else&nbsp;{</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;$(&#8216;result&#8217;).innerHTML&nbsp;=&nbsp;&#8221;";</li>
<li>&nbsp;&nbsp;}</li>
<li>}</li>
<li>window.onload&nbsp;=&nbsp;function()&nbsp;{</li>
<li>&nbsp;&nbsp;//&nbsp;inputタグ（パスワード用）に変更があればパスワードチェックを行う。</li>
<li>&nbsp;&nbsp;new&nbsp;Form.Element.Observer(</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&#8217;passwd&#8217;,</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;1,</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;(element,value){passwd_check();}</li>
<li>&nbsp;&nbsp;);</li>
<li>&nbsp;&nbsp;new&nbsp;Form.Element.Observer(</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&#8217;passwd_conf&#8217;,</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;1,</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;(element,value)&nbsp;{passwd_check();}</li>
<li>&nbsp;&nbsp;);</li>
<li>}</li>
</ol>
<h3>HTML(register.html)</h3>
<ol style="background-color: #b0c4de;">
<li>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#8221;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN&#8221;&nbsp;&#8221;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</li>
<li>&lt;html&nbsp;xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&gt;</li>
<li>&nbsp;&nbsp;&lt;head&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta&nbsp;http-equiv=&#8221;Content-Type&#8221;&nbsp;content=&#8221;text/html;&nbsp;charset=UTF-8&#8243;&nbsp;/&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;sample&lt;/title&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&nbsp;src=&#8221;./js/prototype.js&#8221;&nbsp;type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&nbsp;src=&#8221;./js/register.js&#8221;&nbsp;type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;</li>
<li></li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&nbsp;type=&#8221;text/javascript&#8221;&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;</li>
<li></li>
<li>&nbsp;&nbsp;&lt;/head&gt;</li>
<li>&nbsp;&nbsp;&lt;body&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;form&nbsp;method=&#8221;post&#8221;&nbsp;action=&#8221;./register.html&#8221;&nbsp;id=&#8221;register&#8221;&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;table&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;パスワード&lt;/td&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input&nbsp;type=&#8221;password&#8221;&nbsp;id=&#8221;passwd&#8221;&nbsp;/&gt;&lt;/td&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;tr&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;パスワード（確認用）&lt;/td&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&gt;&lt;input&nbsp;type=&#8221;password&#8221;&nbsp;id=&#8221;passwd_conf&#8221;&nbsp;/&gt;&lt;/td&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;td&nbsp;id=&#8221;result&#8221;&nbsp;style=&#8221;color:&nbsp;red;&#8221;&gt;&lt;/td&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/tr&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/table&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type=&#8221;submit&#8221;&nbsp;value=&#8221;送信&#8221;&nbsp;/&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/form&gt;</li>
<li>&nbsp;&nbsp;&lt;/body&gt;</li>
<li>&lt;/html&gt;</li>
</ol>
<h3>解説？</h3>
<p>スクリプトのほうは、最初の部分のコメントの通りで、<br />
&lt;input&nbsp;type=&#8221;password&#8221;&nbsp;id=&#8221;passwd&#8221;&nbsp;/&gt;<br />
と<br />
&lt;input&nbsp;type=&#8221;password&#8221;&nbsp;id=&#8221;passwd_conf&#8221;&nbsp;/&gt;<br />
の入力ボックス内に変化があったときに関数passwd_checkが<br />
発動し、２つのパスワードが一致しなかった場合には、<br />
id=resultの要素にその旨のメッセージを出力します。<br />
また、入力ボックス内に変化があったかどうかは1秒ごとにチェックしています。これを変更するには、</p>
<p><span style="color: red;">&nbsp;&nbsp;&nbsp;&nbsp;new&nbsp;Form.Element.Observer(&#8216;passwd&#8217;,&nbsp;<span style="color: blue;">1</span>,function&nbsp;(element,value){passwd_check();});</span></p>
<p>の部分の第2引数が1となっているところ（青字の部分）の数字を変更すればOKです。</p>
<p>あとは、HTMLのほうで、formタグの<span style="color: red;">idをregister</span>にし、二つのパスワード入力ボックスの<br />
<span style="color: red;">idをそれぞれ、passwd, passwd_conf</span>にする必要があります。</p>
<p>最後に、これら２つのファイルを同じ階層に置くようにしましょう。（もし、違う階層に置く必要がある場合にはregister.htmlの<br />
scriptタグでregister.jsを指定している場所を変更してください。</p>
<p>おそらく、これくらいでOKのはずです。</p>
<h3>感想</h3>
<p>思っていたよりも簡単にできた。まぁ、ロジックが単純だからだとは思うけど。<br />
あと追加すべきとしては、今は入力時にしかチェックしてないけど、これを送信時にもチェックすべきですね。<br />
送信時にクライアントPC上でチェックして、もし２つのパスワードが異なっていればサーバに送信する前に<br />
クライアントPC上でエラー出力するようにするのが一番ですね。</p>
<h3>サンプルページ</h3>
<ul>
<li>
<a href="http://www.yama3.biz/javascript/register.html" target="_blank">http://www.yama3.biz/javascript/register.html</a>
</li>
</ul>
<p><strong>関連記事</strong>
<ul class="similar-posts">
<li><a href="http://yamablo.com/2009/05/01-193014.php" title="[Ajax勉強中] インストールからテストまで">[Ajax勉強中] インストールからテストまで</a></li>
<li><a href="http://yamablo.com/2009/05/29-080448.php" title="【ウィルス】インスタントメッセンジャー（IM）のパスワードが流出">【ウィルス】インスタントメッセンジャー（IM）のパスワードが流出</a></li>
<li><a href="http://yamablo.com/2009/12/30-185101.php" title="HTML5における新しいフォームのマークアップ">HTML5における新しいフォームのマークアップ</a></li>
<li><a href="http://yamablo.com/2009/06/22-073614.php" title="Webサイト改竄の状況（Gumblar）">Webサイト改竄の状況（Gumblar）</a></li>
<li><a href="http://yamablo.com/2009/05/20-195349.php" title="[PHP] 正規表現を使ったValidate関数">[PHP] 正規表現を使ったValidate関数</a></li>
</ul>
<p><!-- Similar Posts took 63.474 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://yamablo.com/2009/05/02-102105.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://yamablo.com/2009/05/02-102105.php" />
	</item>
		<item>
		<title>[Ajax勉強中] インストールからテストまで</title>
		<link>http://yamablo.com/2009/05/01-193014.php</link>
		<comments>http://yamablo.com/2009/05/01-193014.php#comments</comments>
		<pubDate>Fri, 01 May 2009 10:30:14 +0000</pubDate>
		<dc:creator>yama3</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ウェブ製作]]></category>

		<guid isPermaLink="false">http://yamablo.com/2009/05/01-193014.php</guid>
		<description><![CDATA[最近、Ajaxでもやってみたいなと思い、Javascript, Ajaxの勉強を少しはじめてみました。使っているライブラリはprototype.jsです。prototype.jsを選んだ理由としては、とりあえず、メジャー [...]]]></description>
			<content:encoded><![CDATA[<p>最近、Ajaxでもやってみたいなと思い、Javascript, Ajaxの勉強を少しはじめてみました。使っているライブラリは<strong>prototype.js</strong>です。prototype.jsを選んだ理由としては、とりあえず、メジャーらしいので日本語のドキュメントが揃っているだろう、と考えたからです。</p>
<p>ということで、以下が、prototype.jsのダウンロードからテストまでの一連の流れです。ここまででおよそ30分程度でしょうか？</p>
<h3>インストール</h3>
<p><a href="http://prototypejs.org/assets/2007/1/18/prototype.js" target="_blank">http://prototypejs.org/assets/2007/1/18/prototype.js</a>をダウンロードし、ドキュメント・ルートに配置する。</p>
<h3>動作確認</h3>
<p>以下の内容でindex.htmlファイルをドキュメント・ルートに配置。このとき、文字コードはUTF-8にする。その後、同じフォルダにinput.datというファイルを作成し、ファイルの中に適当に文字を書き込み保存する。</p>
<p>index.htmlをブラウザで開き、ボタンをクリック。すると、「ここがターゲット」と書かれていた部分にinput.datの中身が上書きされます。</p>
<ol>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#8221;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN&#8221;&nbsp; <br />&#8220;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#8221;&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;html&nbsp;xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221;&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;head&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta&nbsp;http-equiv=&#8221;Content-Type&#8221;&nbsp;<br />content=&#8221;text/html;&nbsp;charset=UTF-8&#8243;&nbsp;/&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;sample&lt;/title&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&nbsp;src=&#8221;prototype.js&#8221;&nbsp;type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/head&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;body&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&nbsp;id=&#8221;blk&#8221;&gt;ここがターゲット&lt;/p&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type=&#8221;button&#8221;&nbsp;value=&#8221;ボタン&#8221;&nbsp;onclick=&#8221;new&nbsp;Ajax.Updater(&#8216;blk&#8217;,'input.dat&#8217;,{method:&nbsp;&#8217;get&#8217;});&#8221;/&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/body&gt;</li>
<li>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/html&gt;</li>
</ol>
<h3>解説</h3>
<p>pボタンがクリックされると、rototype.js内のAjax.Updater関数を呼出し、テキストファイル内のデータを出力します。</p>
<h4>Ajax.Updater</h4>
<dl>
<dt>第1引数</dt>
<dd>ターゲット部分のid値を指定</dd>
<dt>第2引数</dt>
<dd>出力したいデータが記載されたファイルへのパス</dd>
<dt>第3引数</dt>
<dd>HTTPリクエストの方法</dd>
</dl>
<h3>参考サイト</h3>
<ul>
<li><a href='http://www.s2factory.co.jp/tech/prototype/prototype.js.html' target='_blank'>prototype.js v1.5.0 の使い方</a></li>
<li><a href="http://www.openspc2.org/JavaScript/Ajax/ref/prototype.js/ver1.4/index.html" target="_blank">prototype.js リファレンス</a></li>
<li><a href='http://javascriptist.net/docs/samples_prototype.html' target='_blank'>prototype.js逆引きサンプル集 &#8211; JavaScriptist</a></li>
</ul>
<p><strong>関連記事</strong>
<ul class="similar-posts">
<li><a href="http://yamablo.com/2009/05/02-102105.php" title="[Ajax勉強中] パスワード確認欄のチェック機能">[Ajax勉強中] パスワード確認欄のチェック機能</a></li>
<li><a href="http://yamablo.com/2009/12/30-185101.php" title="HTML5における新しいフォームのマークアップ">HTML5における新しいフォームのマークアップ</a></li>
<li><a href="http://yamablo.com/2009/05/23-172603.php" title="Smartyの使用感？">Smartyの使用感？</a></li>
<li><a href="http://yamablo.com/2009/05/21-194415.php" title="XAMPP for LinuxにSmartyをインストールする。">XAMPP for LinuxにSmartyをインストールする。</a></li>
<li><a href="http://yamablo.com/2010/01/24-222633.php" title="現在使用しているブックマークレット">現在使用しているブックマークレット</a></li>
</ul>
<p><!-- Similar Posts took 39.852 ms --></p>
]]></content:encoded>
			<wfw:commentRss>http://yamablo.com/2009/05/01-193014.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://yamablo.com/2009/05/01-193014.php" />
	</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.446 seconds -->
