<?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/"
	>

<channel>
	<title>Sun Limited Mt. &#187; Ajax</title>
	<atom:link href="http://blog.syuhari.jp/archives/category/ajax/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.syuhari.jp</link>
	<description>I love iPhone, CakePHP and WordPress.</description>
	<lastBuildDate>Thu, 20 Oct 2011 19:36:15 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>jQuery で Ajax のメモ</title>
		<link>http://blog.syuhari.jp/archives/684</link>
		<comments>http://blog.syuhari.jp/archives/684#comments</comments>
		<pubDate>Wed, 17 Sep 2008 07:11:24 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[click]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=684</guid>
		<description><![CDATA[jQuery の自分へのメモです。 テキストを入力して、HTML の内容を変更する &#60;script&#62; $(function() { $('#change_btn').click(function() { $.post('/path/to', { name : $('#name').attr('value') }, callBack); }); }); function callBack(data) { $('#change_area').html(data); } &#60;/script&#62; &#60;div id=&#34;change_area&#34;&#62;&#60;/div&#62; &#60;form action=&#34;&#34; id=&#34;form1&#34; method=&#34;post&#34;&#62; &#60;input type=&#34;text&#34; name=&#34;name&#34; id=&#34;name&#34; value=&#34;&#34; /&#62; &#60;input type=&#34;button&#34; id=&#34;change_btn&#34; value=&#34;変更&#34; /&#62; &#60;/form&#62; $.post は非同期通信で POST でデータを送信してレスポンスを受け取れます。 $.post(url, data, callback, type); url POST する url　例 hoge.php [...]]]></description>
			<content:encoded><![CDATA[<p>jQuery の自分へのメモです。<br />
<span id="more-684"></span></p>
<h4>テキストを入力して、HTML の内容を変更する</h4>
<pre class="javascript" name="code">
&lt;script&gt;
$(function() {
    $('#change_btn').click(function() {
        $.post('/path/to',
            {
                name : $('#name').attr('value')
            },
            callBack);
    });
});

function callBack(data) {
    $('#change_area').html(data);
}
&lt;/script&gt;

&lt;div id=&quot;change_area&quot;&gt;&lt;/div&gt;

&lt;form action=&quot;&quot; id=&quot;form1&quot; method=&quot;post&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;name&quot; id=&quot;name&quot; value=&quot;&quot; /&gt;
&lt;input type=&quot;button&quot; id=&quot;change_btn&quot; value=&quot;変更&quot; /&gt;
&lt;/form&gt;
</pre>
<p>$.post は非同期通信で POST でデータを送信してレスポンスを受け取れます。</p>
<p><strong>$.post(url, data, callback, type);</strong></p>
<dl>
<dt>url</dt>
<dd>POST する url　例 hoge.php</dd>
<dt>data</dt>
<dd>POST するデータ　例 {&#8220;hoge&#8221;:1, &#8220;foo&#8221;:&#8221;foo&#8221;}</dd>
<dt>callback</dt>
<dd>データを受け取るコールバック関数　例 my_func</dd>
<dt>type</dt>
<dd>受け取るデータのタイプ　例 JSON XML</dd>
</dl>
<p>エラーハンドリングしたいときは $.ajax を使用した方がよい。<br />
<a href="http://humming.via-kitchen.com/2007/12/08/jquery-ajax-memo/" target="_blank" class="liexternal">jQuery.ajaxメモ &#8211; Humming Via Kitchen</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F684&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/684/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazonに横浜市立図書館の検索結果を差し込むgreasemonkeyスクリプト</title>
		<link>http://blog.syuhari.jp/archives/622</link>
		<comments>http://blog.syuhari.jp/archives/622#comments</comments>
		<pubDate>Wed, 27 Aug 2008 05:44:09 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[Greacemonkey]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[本]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=622</guid>
		<description><![CDATA[unwind-protect: Amazonに横浜市立図書館の検索結果を差し込むgreasemonkeyスクリプト &#8211; 改訂 上記スクリプトを便利に使わせていただいていたのですが、先週くらいから急に表示されなくなりました。どうやら Amazon の HTML が微妙に変更されたのが原因のようです。図書館への予約を Amazon のページからすることが多かったので、不便なので原因を究明して修正してみました。 46行目の以下のコードを header = document.evaluate("//div[@class='buying']/b[@class='sans']", 下記のように修正しました header = document.evaluate("//div[@class='buying']/h1[@class='parsesans']", これでとりあえず本の詳細ページでは表示されるようになりました。 追記（2008.10.2) コメントで教えていただきました。またクラス名が変更になったようです。 以下のコードで動きます。 header = document.evaluate("//div[@class='buying']/h1[@class='parseasinTitle']",]]></description>
			<content:encoded><![CDATA[<p><a href="http://saltyduck.blog12.fc2.com/blog-entry-30.html" target="_blank" class="liexternal">unwind-protect: Amazonに横浜市立図書館の検索結果を差し込むgreasemonkeyスクリプト &#8211; 改訂</a></p>
<p>上記スクリプトを便利に使わせていただいていたのですが、先週くらいから急に表示されなくなりました。どうやら Amazon の HTML が微妙に変更されたのが原因のようです。図書館への予約を Amazon のページからすることが多かったので、不便なので原因を究明して修正してみました。<br />
<span id="more-622"></span><br />
46行目の以下のコードを</p>
<pre class="javascript" name="code">
header = document.evaluate("//div[@class='buying']/b[@class='sans']",
</pre>
<p>下記のように修正しました</p>
<pre class="javascript" name="code">
header = document.evaluate("//div[@class='buying']/h1[@class='parsesans']",
</pre>
<p>これでとりあえず本の詳細ページでは表示されるようになりました。</p>
<p>追記（2008.10.2)<br />
コメントで教えていただきました。またクラス名が変更になったようです。<br />
以下のコードで動きます。</p>
<pre class="javascript" name="code">
header = document.evaluate("//div[@class='buying']/h1[@class='parseasinTitle']",
</pre>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F622&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/622/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery で属性値を変更するには set ではなく attr メソッド</title>
		<link>http://blog.syuhari.jp/archives/386</link>
		<comments>http://blog.syuhari.jp/archives/386#comments</comments>
		<pubDate>Thu, 24 Apr 2008 04:47:22 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=386</guid>
		<description><![CDATA[jQuery で属性値を変更する方法を Google で検索すると $('#hoge').set('href', 'http://www.syuhari.jp/'); というやり方が結構ヒットするのですが、jQuery1.2.x では $('#hoge').attr('href', 'http://www.syuhari.jp/'); のように attr メソッドを使用します。 参考：Attributes/attr &#8211; jQuery JavaScript Library]]></description>
			<content:encoded><![CDATA[<p>jQuery で属性値を変更する方法を Google で検索すると</p>
<pre class="Javascript" name="code">$('#hoge').set('href', 'http://www.syuhari.jp/');</pre>
<p>というやり方が結構ヒットするのですが、jQuery1.2.x では</p>
<pre class="Javascript" name="code">$('#hoge').attr('href', 'http://www.syuhari.jp/');</pre>
<p>のように attr メソッドを使用します。</p>
<p>参考：<a href="http://docs.jquery.com/Attributes/attr" target="_blank" class="liexternal">Attributes/attr &#8211; jQuery JavaScript Library</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F386&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/386/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress の管理画面で jQuery を使用する場合の注意点</title>
		<link>http://blog.syuhari.jp/archives/385</link>
		<comments>http://blog.syuhari.jp/archives/385#comments</comments>
		<pubDate>Thu, 24 Apr 2008 04:34:03 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[conf]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[Word]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=385</guid>
		<description><![CDATA[WordPress の管理画面で使用するプラグインを作成しているのですが、jQuery を使用するときの注意点です。 jQuery は prototype.js などの $ を使用するライブラリと同時に使用できるように設計されています。jQuery にはprototype.js で定義した $ を上書きしないようにする方法があります。 jQuery.noConflict(); を　jquery.js ファイルの一番最後に書き加えることにより $ を上書きしないように元に戻します。 jQuery を使用する際は $('hoge'); ではなく jQuery.('hoge'); を使用します。 $ の代わりに jQuery を使用するということですね。 WordPress の管理画面で読み込んでいる jQuery もしっかり jQuery.noConflict(); が最後に入っています。 管理画面のプラグインやテーマで jQuery を使用する方はご注意ください。]]></description>
			<content:encoded><![CDATA[<p>WordPress の管理画面で使用するプラグインを作成しているのですが、jQuery を使用するときの注意点です。</p>
<p>jQuery は prototype.js などの $ を使用するライブラリと同時に使用できるように設計されています。jQuery にはprototype.js で定義した $ を上書きしないようにする方法があります。</p>
<pre class="Javascript" name="code">jQuery.noConflict();</pre>
<p>を　jquery.js ファイルの一番最後に書き加えることにより $ を上書きしないように元に戻します。<br />
<span id="more-385"></span><br />
jQuery を使用する際は</p>
<pre class="Javascript" name="code">$('hoge');</pre>
<p>ではなく</p>
<pre class="Javascript" name="code">jQuery.('hoge');</pre>
<p>を使用します。<br />
$ の代わりに jQuery を使用するということですね。</p>
<p>WordPress の管理画面で読み込んでいる jQuery もしっかり </p>
<pre class="Javascript" name="code">jQuery.noConflict();</pre>
<p>が最後に入っています。</p>
<p>管理画面のプラグインやテーマで jQuery を使用する方はご注意ください。</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F385&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/385/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>3月に読んだ本</title>
		<link>http://blog.syuhari.jp/archives/371</link>
		<comments>http://blog.syuhari.jp/archives/371#comments</comments>
		<pubDate>Tue, 01 Apr 2008 07:35:44 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[本]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tag]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/?p=371</guid>
		<description><![CDATA[3月は合計20冊。忙しかったが結構いいペースで読めました。 野球好きな方には「プロ野球2.0 (扶桑社新書 24) 」はオススメです。野球というビジネスの経営に関して知ることができます。 知識ゼロからの経済学入門 弘兼 憲史 ￥ 1,365 単行本 幻冬舎 「Webコンサルタント」という選択―成長企業のトップはすでに活用している Webコンサルタント研究会 ￥ 1,260 単行本 幻冬舎メディアコンサルティング 脳を活かす勉強法 茂木 健一郎 ￥ 1,155 単行本（ソフトカバー） PHP研究所 ユダヤ人大富豪の教え 幸せな金持ちになる17の秘訣 (だいわ文庫) 本田 健 ￥ 680 文庫 大和書房 ウェブ時代 5つの定理 この言葉が未来を切り開く! 梅田望夫 ￥ 1,365 単行本（ソフトカバー） 文藝春秋 フリーペーパーの衝撃 (集英社新書 424B) 稲垣 太郎 ￥ 714 新書 集英社 プロ野球2.0 (扶桑社新書 24) 小島 [...]]]></description>
			<content:encoded><![CDATA[<p>3月は合計20冊。忙しかったが結構いいペースで読めました。</p>
<p>野球好きな方には「<a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4594055915%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4594055915%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">プロ野球2.0 (扶桑社新書 24) </a>」はオススメです。野球というビジネスの経営に関して知ることができます。<br />
<span id="more-371"></span></p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4344901177%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4344901177%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">知識ゼロからの経済学入門</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4344901177%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4344901177%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/11QN3G8YU6L.jpg" border="0" alt="知識ゼロからの経済学入門" width="53" height="75" align="left" /></a>弘兼 憲史<br />
￥ 1,365<br />
単行本<br />
幻冬舎</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4344996208%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4344996208%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">「Webコンサルタント」という選択―成長企業のトップはすでに活用している</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4344996208%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4344996208%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img border="0" alt="「Webコンサルタント」という選択―成長企業のトップはすでに活用している" align="left" /></a>Webコンサルタント研究会<br />
￥ 1,260<br />
単行本<br />
幻冬舎メディアコンサルティング</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4569696791%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4569696791%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">脳を活かす勉強法</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4569696791%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4569696791%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/015ZLqspw0L.jpg" border="0" alt="脳を活かす勉強法" width="48" height="75" align="left" /></a>茂木 健一郎<br />
￥ 1,155<br />
単行本（ソフトカバー）<br />
PHP研究所</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4479300082%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4479300082%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">ユダヤ人大富豪の教え 幸せな金持ちになる17の秘訣 (だいわ文庫)</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4479300082%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4479300082%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/11MRJF93A5L.jpg" border="0" alt="ユダヤ人大富豪の教え 幸せな金持ちになる17の秘訣 (だいわ文庫)" width="52" height="75" align="left" /></a>本田 健<br />
￥ 680<br />
文庫<br />
大和書房</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4163700005%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4163700005%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">ウェブ時代 5つの定理 この言葉が未来を切り開く!</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4163700005%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4163700005%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/01usOTh59JL.jpg" border="0" alt="ウェブ時代 5つの定理 この言葉が未来を切り開く!" width="52" height="75" align="left" /></a>梅田望夫<br />
￥ 1,365<br />
単行本（ソフトカバー）<br />
文藝春秋</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4087204243%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4087204243%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">フリーペーパーの衝撃 (集英社新書 424B) </a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4087204243%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4087204243%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/01FZb06UkUL.jpg" border="0" alt="フリーペーパーの衝撃 (集英社新書 424B) (集英社新書 424B)" width="45" height="75" align="left" /></a>稲垣 太郎<br />
￥ 714<br />
新書<br />
集英社</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4594055915%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4594055915%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">プロ野球2.0 (扶桑社新書 24) </a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4594055915%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4594055915%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/014B7PWAbwL.jpg" border="0" alt="プロ野球2.0 (扶桑社新書 24) (扶桑社新書 24)" width="47" height="75" align="left" /></a>小島 克典<br />
￥ 756<br />
新書<br />
扶桑社</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4827550107%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4827550107%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">年収崩壊―格差時代に生き残るための「お金サバイバル術」 (角川SSC新書 10)</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4827550107%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4827550107%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/017w-Ezkf-L.jpg" border="0" alt="年収崩壊―格差時代に生き残るための「お金サバイバル術」 (角川SSC新書 10)" width="46" height="75" align="left" /></a>森永 卓郎<br />
￥ 798<br />
新書<br />
角川・エス・エス・コミュニケーションズ</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4534042000%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4534042000%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">できる人は知っている 頭のいい勉強法</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4534042000%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4534042000%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/01dw9CdSizL.jpg" border="0" alt="できる人は知っている 頭のいい勉強法" width="51" height="75" align="left" /></a>箱田 忠昭<br />
￥ 1,365<br />
単行本（ソフトカバー）<br />
日本実業出版社</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4894511711%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4894511711%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">お金と英語の非常識な関係（上） 神田昌典＆ウィリアム・リード、スペシャル対談ＣＤ付き</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4894511711%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4894511711%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/11VB6N98MML.jpg" border="0" alt="お金と英語の非常識な関係（上） 神田昌典＆ウィリアム・リード、スペシャル対談ＣＤ付き" width="41" height="60" align="left" /></a>神田 昌典<br />
￥ 1,365<br />
単行本<br />
フォレスト出版</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4344402081%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4344402081%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">ガンジス河でバタフライ (幻冬舎文庫)</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4344402081%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4344402081%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/01PRZ9S7YAL.jpg" border="0" alt="ガンジス河でバタフライ (幻冬舎文庫)" width="39" height="60" align="left" /></a>たかの てるこ<br />
￥ 680<br />
文庫<br />
幻冬舎</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4893469126%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4893469126%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">人生カンタンリセット!夢をかなえる「そうじ力」</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4893469126%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4893469126%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/01K9CWR6JDL.jpg" border="0" alt="人生カンタンリセット!夢をかなえる「そうじ力」" width="50" height="75" align="left" /></a>舛田 光洋<br />
￥ 1,260<br />
単行本<br />
総合法令出版</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4757305060%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4757305060%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">朝9時までの「超」仕事術</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4757305060%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4757305060%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/016b73NxehL.jpg" border="0" alt="朝9時までの「超」仕事術" width="50" height="75" align="left" /></a>見田村 元宣<br />
￥ 1,575<br />
単行本<br />
インデックス・コミュニケーションズ</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=488759626X%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/488759626X%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">勝間和代のインディペンデントな生き方 実践ガイド</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=488759626X%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/488759626X%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/01rX-zUgD9L.jpg" border="0" alt="勝間和代のインディペンデントな生き方 実践ガイド" width="47" height="75" align="left" /></a>勝間 和代<br />
￥ 1,050<br />
新書<br />
ディスカヴァー・トゥエンティワン</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4757304919%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4757304919%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">なぜ、ベンチャーは失敗しやすいのか?</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4757304919%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4757304919%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/11EGIeK6Y9L.jpg" border="0" alt="なぜ、ベンチャーは失敗しやすいのか?" width="53" height="75" align="left" /></a>真田 哲弥<br />
￥ 1,575<br />
単行本（ソフトカバー）<br />
インデックス・コミュニケーションズ</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4047100137%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4047100137%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">大人のための読書法 (角川oneテーマ21)</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4047100137%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4047100137%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/11FRSP5AMGL.jpg" border="0" alt="大人のための読書法 (角川oneテーマ21)" width="46" height="75" align="left" /></a>和田 秀樹<br />
￥ 760<br />
新書<br />
角川書店</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4492042989%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4492042989%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">STUDY HACKS!</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4492042989%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4492042989%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/0171juBIHZL.jpg" border="0" alt="STUDY HACKS!" width="52" height="75" align="left" /></a>小山 龍介<br />
￥ 1,575<br />
単行本（ソフトカバー）<br />
東洋経済新報社</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=483795670X%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/483795670X%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">一瞬で自分を変える法―世界No.1カリスマコーチが教える</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=483795670X%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/483795670X%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/01EDSACC9TL.jpg" border="0" alt="一瞬で自分を変える法―世界No.1カリスマコーチが教える" width="52" height="75" align="left" /></a>アンソニー ロビンズ<br />
￥ 1,470<br />
単行本<br />
三笠書房</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4894512440%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4894512440%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">「心のブレーキ」の外し方?仕事とプライベートに効く7つの心理セラピー?</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=4894512440%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/4894512440%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/01AV0E205QL.jpg" border="0" alt="「心のブレーキ」の外し方?仕事とプライベートに効く7つの心理セラピー?" width="52" height="75" align="left" /></a>石井 裕之<br />
￥ 1,365<br />
単行本<br />
フォレスト出版</p>
<h4><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=447808274X%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/447808274X%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank" class="liexternal">初めてでもわかる!システム開発発注入門―悩める担当者がシステム開発で成功するには?</a></h4>
<p><a href="http://www.amazon.co.jp/gp/redirect.html%3FASIN=447808274X%26tag=8109-22%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/447808274X%253FSubscriptionId=00ZZGWWEM6KCNNQ67M82" target="_blank"><br />
<img src="http://ecx.images-amazon.com/images/I/11FCFCVrmmL.jpg" border="0" alt="初めてでもわかる!システム開発発注入門―悩める担当者がシステム開発で成功するには?" width="53" height="75" align="left" /></a>川端 篤史<br />
￥ 1,500<br />
単行本<br />
ダイヤモンド社</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F371&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/371/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP Ajax のフォームを作成する</title>
		<link>http://blog.syuhari.jp/archives/186</link>
		<comments>http://blog.syuhari.jp/archives/186#comments</comments>
		<pubDate>Fri, 15 Feb 2008 07:54:15 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[helper]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[option]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[save]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/186</guid>
		<description><![CDATA[今さらなのですが CakePHP1.1 で Ajax のフォームを作成するというのをやったのでメモしておきます。 Ajax , Javascript ヘルパーを使用できるようにする コントローラで Ajax, Javascritp ヘルパーを使用できるようにする。 var $helpers = array('Ajax', 'Javascript'); prototype.js を読み込む webroot/js に prototype.js を配置し、ビューで読み込みます。 &#60;?php echo $javascript-&#62;link('prototype'); ?&#62; ビューでフォームを作成する 今回は submit ボタンを押した後、更新中には submit ボタンを消して変わりに「更新中」というメッセージを表示し、更新終了後にメッセージをボタンの下の id=ajax_message に表示するようにしました。 &#60;?php $options = array( "update" =&#62; "ajax_message", "loading" =&#62; "Element.hide('ajax_button'); Element.show('ajax_loading');", "complete" =&#62; "Element.show('ajax_button'); Element.hide('ajax_loading');", ); echo $ajax-&#62;form("/controller/action/", "post", [...]]]></description>
			<content:encoded><![CDATA[<p>今さらなのですが CakePHP1.1 で Ajax のフォームを作成するというのをやったのでメモしておきます。</p>
<h4>Ajax , Javascript ヘルパーを使用できるようにする</h4>
<p>コントローラで Ajax, Javascritp ヘルパーを使用できるようにする。<br />
<code>var $helpers = array('Ajax', 'Javascript');</code></p>
<h4>prototype.js を読み込む</h4>
<p>webroot/js に prototype.js を配置し、ビューで読み込みます。<br />
<code>&lt;?php echo $javascript-&gt;link('prototype'); ?&gt;</code></p>
<h4>ビューでフォームを作成する</h4>
<p>今回は submit ボタンを押した後、更新中には submit ボタンを消して変わりに「更新中」というメッセージを表示し、更新終了後にメッセージをボタンの下の id=ajax_message に表示するようにしました。</p>
<pre class="code">&lt;?php
$options = array(
    "update" =&gt; "ajax_message",
    "loading" =&gt; "Element.hide('ajax_button'); Element.show('ajax_loading');",
    "complete" =&gt; "Element.show('ajax_button'); Element.hide('ajax_loading');",
    );
echo $ajax-&gt;form("/controller/action/", "post", $options);
?&gt;
&lt;?php echo $html-&gt;input('Model/Field', array('type'=&gt;'text')); ?&gt;&lt;br&gt;
&lt;input type="submit" id="ajax_button"&gt;
&lt;div id="ajax_loading" style="display:none;"&gt;更新中...&lt;/div&gt;
&lt;div id="ajax_message"&gt;&lt;/div&gt;</pre>
<p>$ajax-&gt;form の $options の<br />
&#8220;update&#8221; で更新するメッセージ領域を指定し、<br />
&#8220;loading&#8221;でアップロード中の動き、<br />
&#8220;complete&#8221; で処理終了後の動き<br />
を指定しています。</p>
<h4>コントローラに Ajax で処理するアクションを作成</h4>
<pre class="code">function action() {
    $this-&gt;layout = 'ajax';
    /* $this-&gt;data にフォームの内容が渡るので必要な処理を書く */
    $this-&gt;Model-&gt;id = $this-&gt;data['Model']['id'];
    $this-&gt;Model-&gt;saveField("Field", $this-&gt;data['Model']['Field'], true);
}</pre>
<p>$this-&gt;layout で &#8216;ajax&#8217; を指定して余計なヘッダ、フッタが出ないようにします。</p>
<h4>Ajax で出力するビューを作成する</h4>
<p>上のコントローラのアクションで出力するビューを作成します。<br />
上の例では saveField でフォームから送られてきたデータを使用して更新処理しています。その結果によってメッセージを送信します。</p>
<pre class="code">&lt;?php
if($msg=$error-&gt;messageFor('Model/Field')) {
    echo $msg;
} else {
    echo "更新しました";
}
?&gt;</pre>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F186&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/186/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CakePHP jQuery を使用した Ajax ファイルアップロード</title>
		<link>http://blog.syuhari.jp/archives/178</link>
		<comments>http://blog.syuhari.jp/archives/178#comments</comments>
		<pubDate>Tue, 05 Feb 2008 10:12:29 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[click]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[jpeg]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[mime]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[upload]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/178</guid>
		<description><![CDATA[下記ページを参考にさせていただきました。 &#8220;jQueryを使ったAjaxファイルアップロード&#8221; フォーラム &#8211; CakePHP Users in Japan David Golding Design Blog - 上記ページでは jQuery を使用してテキストファイルをアップロードしてテキストの内容を表示するというものですが、画像をアップロードしてアップロードした画像をフォームの下に Ajax を利用して表示するというのをやってみました。 jQuery 使用準備 jquery.js と jquery.form.js を app/webroot/js/ 以下に配置します。 アップロードするビューで上記 JavaScript ファイルを読み込むため下記コードをビューに追加します。 &#60;?php echo $javascript-&#62;link(array('jquery.js','jquery.form.js')); ?&#62; ビューにアップロードするフォームを作成する 今回は users コントローラの form アクションでフォームを表示します。Ajax の処理を行うのは users コントローラの upload アクションです。 views/users/form.ctp &#60;h1&#62;upload test&#60;/h1&#62; &#60;?php echo $form-&#62;create('User',array('name'=&#62;'uploadForm','id'=&#62;'uploadForm','type'=&#62;'file'));?&#62; &#60;?php echo $form-&#62;input('upload_file',array('label'=&#62;'Upload Text File [...]]]></description>
			<content:encoded><![CDATA[<p>下記ページを参考にさせていただきました。<br />
<a href="http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=965&amp;forum=12&amp;post_id=1870#forumpost1870" target="_blank" class="liexternal">&#8220;jQueryを使ったAjaxファイルアップロード&#8221; フォーラム &#8211; CakePHP Users in Japan</a><br />
<a href="http://www.davidgoldingdesign.com/blog/ajax-file-uploading-with-cake-and-jquery" target="_blank" class="liexternal">David Golding Design Blog -</a></p>
<p>上記ページでは jQuery を使用してテキストファイルをアップロードしてテキストの内容を表示するというものですが、画像をアップロードしてアップロードした画像をフォームの下に Ajax を利用して表示するというのをやってみました。</p>
<h4>jQuery 使用準備</h4>
<p>jquery.js と jquery.form.js を app/webroot/js/ 以下に配置します。<br />
アップロードするビューで上記 JavaScript ファイルを読み込むため下記コードをビューに追加します。<br />
<code>&lt;?php echo $javascript-&gt;link(array('jquery.js','jquery.form.js')); ?&gt;</code></p>
<h4>ビューにアップロードするフォームを作成する</h4>
<p>今回は users コントローラの form アクションでフォームを表示します。Ajax の処理を行うのは users コントローラの upload アクションです。<br />
views/users/form.ctp</p>
<pre class="code">&lt;h1&gt;upload test&lt;/h1&gt;
&lt;?php echo $form-&gt;create('User',array('name'=&gt;'uploadForm','id'=&gt;'uploadForm','type'=&gt;'file'));?&gt;
&lt;?php echo $form-&gt;input('upload_file',array('label'=&gt;'Upload Text File ','type'=&gt;'file'));?&gt;
&lt;?php echo $form-&gt;button('アップロード',array('onClick'=&gt;'$('#uploadForm').ajaxSubmit({target: '#uploadFile',url: '/users/upload'}); return false;'));?&gt;
&lt;/form&gt;
&lt;div id="uploadFile"&gt;&lt;/div&gt;</pre>
<h4>コントローラの処理</h4>
<p>views/users/form.ctp から「アップロード」ボタンを押すと users/upload アクションの $this-&gt;data にアップロードファイルの情報が入ってきます。ここでは mime タイプによって JPEG ファイルのみをアップロードできるようにしています。アップロード後に views/users/upload.ctp を出力します。</p>
<pre class="code">function upload() {
    if (!$this-&gt;data['User']['upload_file']) {
        $this-&gt;set('error','アップロードするファイルを選択してください');
	$this-&gt;render('upload','ajax');
    } else {
	if ($this-&gt;data['User']['upload_file']['type'] != 'image/jpeg') {
	    $this-&gt;set('error','アップロードできる画像は JPEG のみです');
	    $this-&gt;render('upload','ajax');
	} else {
	    $filename = '/files/'.intval(rand()).'.jpg';
	    rename($this-&gt;data['User']['upload_file']['tmp_name'], WWW_ROOT.$filename);
	    $this-&gt;set('filename', $filename);
	    $this-&gt;render('upload','ajax');
	}
    }
}</pre>
<h4>Ajax が返すビューを作成する</h4>
<p>/users/upload で処理した結果を返すビューを作成します。今回は veiws/users/upload.ctp として作成しました。ここで img タグによりアップロードしたファイルを表示しています。</p>
<pre class="code">&lt;?php if (!empty($error)): ?&gt;
&lt;p&gt;&lt;?php echo $error;?&gt;&lt;/p&gt;
&lt;?php else: ?&gt;
&lt;p&gt;Upload successful&lt;/p&gt;
&lt;?php echo $html-&gt;image($filename); ?&gt;
&lt;?php endif; ?&gt;</pre>
<p>以上で jQuery を使用して Ajax で画像のアップロードができます。</p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F178&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/178/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>scriptaculous.js を使ってマトリックス状に配置した要素を並び替える</title>
		<link>http://blog.syuhari.jp/archives/160</link>
		<comments>http://blog.syuhari.jp/archives/160#comments</comments>
		<pubDate>Fri, 28 Dec 2007 02:21:14 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[drag]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[option]]></category>
		<category><![CDATA[scriptaculous]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[Tab]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[本]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/160</guid>
		<description><![CDATA[scriptaculous.js を使って並び替えを行う を応用して格子状に並んだ要素を並び替える例です。基本的な部分はリスト形式の並び替えと同じですので省略します。 最初にデモ、その後にコードを紹介します。 デモ #sortarea { width: 350px; } #sortarea div { float: left; width: 100px; height: 70px; border: 1px solid #000; margin: 5px; text-align: center; padding-top: 30px; cursor: default; } A1 A2 A3 A4 A5 A6 A7 A8 A9 ソートする要素 前回は li タグで要素を定義しましたが、今回は div タグで定義しました。 CSS で格子状に並ぶようにしています。 &#60;style&#62; #sortarea { width: 350px; } [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.syuhari.jp/blog/?p=159" class="liinternal">scriptaculous.js を使って並び替えを行う</a> を応用して格子状に並んだ要素を並び替える例です。基本的な部分はリスト形式の並び替えと同じですので省略します。<br />
最初にデモ、その後にコードを紹介します。</p>
<h4>デモ</h4>
<p><script src="http://www.syuhari.jp/js/prototype.js" type="text/javascript"></script><br />
<script src="http://www.syuhari.jp/js/scriptaculous.js" type="text/javascript"></script></p>
<p>#sortarea { width: 350px; } #sortarea div { float: left; width: 100px; height: 70px; border: 1px solid #000; margin: 5px; text-align: center; padding-top: 30px; cursor: default; }</p>
<div id="sortarea">
<div id="drag_1">A1</div>
<div id="drag_2">A2</div>
<div id="drag_3">A3</div>
<div id="drag_4">A4</div>
<div id="drag_5">A5</div>
<div id="drag_6">A6</div>
<div id="drag_7">A7</div>
<div id="drag_8">A8</div>
<div id="drag_9">A9</div>
</div>
<p><script type="text/javascript"><!--
// < ![CDATA[
Sortable.create("sortarea",{
    tag:"div",overlap:"horizontal",constraint: false,
});
// ]]&gt;
// --></script></p>
<h4>ソートする要素</h4>
<p>前回は li タグで要素を定義しましたが、今回は div タグで定義しました。<br />
CSS で格子状に並ぶようにしています。</p>
<pre class="code">&lt;style&gt;
#sortarea {
width: 350px;
}

#sortarea div {
float: left;
width: 100px;
height: 70px;
border: 1px solid #000;
margin: 5px;
text-align: center;
padding-top: 30px;
cursor: default;
}
&lt;/style&gt;

&lt;div id="sortarea"&gt;
&lt;div id="drag_1"&gt;A1&lt;/div&gt;
&lt;div id="drag_2"&gt;A2&lt;/div&gt;
&lt;div id="drag_3"&gt;A3&lt;/div&gt;
&lt;div id="drag_4"&gt;A4&lt;/div&gt;
&lt;div id="drag_5"&gt;A5&lt;/div&gt;
&lt;div id="drag_6"&gt;A6&lt;/div&gt;
&lt;div id="drag_7"&gt;A7&lt;/div&gt;
&lt;div id="drag_8"&gt;A8&lt;/div&gt;
&lt;div id="drag_9"&gt;A9&lt;/div&gt;
&lt;/div&gt;</pre>
<h4>ソートする JavaScript コード</h4>
<p>Sortable.create の option に overlap:&#8217;horizontal&#8217; を指定しなくても並び替えはできますが、少しぎこちない感じになりますので、指定しておいたほうがいいでしょう。</p>
<pre class="code">&lt;script type="text/javascript" language="javascript"&gt;
// &lt;![CDATA[
Sortable.create("sortarea",{
    tag:'div',overlap:'horizontal',constraint: false,
});
// ]]&gt;
&lt;/script&gt;</pre>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F160&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/160/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>scriptaculous.js を使って並び替えを行う</title>
		<link>http://blog.syuhari.jp/archives/159</link>
		<comments>http://blog.syuhari.jp/archives/159#comments</comments>
		<pubDate>Fri, 28 Dec 2007 01:58:31 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[age]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[drag]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[LAN]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[scriptaculous]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[Tab]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/159</guid>
		<description><![CDATA[JavaScript の読み込み まず prototype.js と scriptaculous.js を読み込む &#60;script type="text/javascript" src="prototype.js"&#62;&#60;/script&#62; &#60;script type="text/javascript" src="scriptaculous.js"&#62;&#60;/script&#62; ソートするリストを作成する ここでのポイントはドラッグさせたい要素に drag_1 のように「共通の名前+アンダバー+数字」を付けることです。 &#60;ul id="sortarea"&#62; &#60;li id="drag_1"&#62;A1&#60;/li&#62; &#60;li id="drag_2"&#62;A2&#60;/li&#62; &#60;li id="drag_3"&#62;A3&#60;/li&#62; &#60;li id="drag_4"&#62;A4&#60;/li&#62; &#60;li id="drag_5"&#62;A5&#60;/li&#62; &#60;li id="drag_6"&#62;A6&#60;/li&#62; &#60;li id="drag_7"&#62;A7&#60;/li&#62; &#60;li id="drag_8"&#62;A8&#60;/li&#62; &#60;li id="drag_9"&#62;A9&#60;/li&#62; &#60;/ul&#62; ソートする JavaScript コード ソートするエリアとソートする要素を定義した後で実際にソートするための JavaScript コードを書く。このコードがソートさせたい要素よりも前に書くとエラーになるので注意。 &#60;script type="text/javascript" language="javascript"&#62; // &#60;![CDATA[ Sortable.create("sortarea",{ onUpdate:function(){ new Ajax.Updater( 'sortarea', '/path/to/phpcode', [...]]]></description>
			<content:encoded><![CDATA[<h4>JavaScript の読み込み</h4>
<p>まず prototype.js と scriptaculous.js を読み込む</p>
<pre class="code">&lt;script type="text/javascript" src="prototype.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript" src="scriptaculous.js"&gt;&lt;/script&gt;</pre>
<h4>ソートするリストを作成する</h4>
<p>ここでのポイントはドラッグさせたい要素に drag_1 のように「共通の名前+アンダバー+数字」を付けることです。</p>
<pre class="code">&lt;ul id="sortarea"&gt;
&lt;li id="drag_1"&gt;A1&lt;/li&gt;
&lt;li id="drag_2"&gt;A2&lt;/li&gt;
&lt;li id="drag_3"&gt;A3&lt;/li&gt;
&lt;li id="drag_4"&gt;A4&lt;/li&gt;
&lt;li id="drag_5"&gt;A5&lt;/li&gt;
&lt;li id="drag_6"&gt;A6&lt;/li&gt;
&lt;li id="drag_7"&gt;A7&lt;/li&gt;
&lt;li id="drag_8"&gt;A8&lt;/li&gt;
&lt;li id="drag_9"&gt;A9&lt;/li&gt;
&lt;/ul&gt;</pre>
<h4>ソートする JavaScript コード</h4>
<p>ソートするエリアとソートする要素を定義した後で実際にソートするための JavaScript コードを書く。このコードがソートさせたい要素よりも前に書くとエラーになるので注意。</p>
<pre class="code">&lt;script type="text/javascript" language="javascript"&gt;
// &lt;![CDATA[
Sortable.create("sortarea",{
    onUpdate:function(){
        new Ajax.Updater(
        'sortarea',
        '/path/to/phpcode',
            {
                asynchronous:true,
                evalScripts:true,
                parameters:Sortable.serialize("sortarea")
            }
        );
    }
});
// ]]&gt;
&lt;/script&gt;</pre>
<p>onUpdate でソート結果をPHP に送りデータベースなりに反映させる。<br />
データベースに反映などが必要なければ、onUpdate は不要です。</p>
<h4>デモ</h4>
<p>これを実際に使用した例が下記になります。<br />
<script src="http://www.syuhari.jp/js/prototype.js" type="text/javascript"></script><br />
<script src="http://www.syuhari.jp/js/scriptaculous.js" type="text/javascript"></script></p>
<p>#sortarea { width: 350px; border: 1px solid #000; } #sortarea li { cursor: default; }</p>
<ul id="sortarea">
<li id="drag_1">LIST1</li>
<li id="drag_2">LIST2</li>
<li id="drag_3">LIST3</li>
<li id="drag_4">LIST4</li>
<li id="drag_5">LIST5</li>
<li id="drag_6">LIST6</li>
<li id="drag_7">LIST7</li>
<li id="drag_8">LIST8</li>
<li id="drag_9">LIST9</li>
</ul>
<p><script type="text/javascript"><!--
// < ![CDATA[
Sortable.create("sortarea");
// ]]&gt;
// --></script></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F159&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/159/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GoogleMap 特定のキーワードで表示させる</title>
		<link>http://blog.syuhari.jp/archives/143</link>
		<comments>http://blog.syuhari.jp/archives/143#comments</comments>
		<pubDate>Thu, 29 Nov 2007 07:15:53 +0000</pubDate>
		<dc:creator>matsuura</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[click]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[element]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[GoogleMap]]></category>
		<category><![CDATA[goolgemap]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[null]]></category>
		<category><![CDATA[zoo]]></category>

		<guid isPermaLink="false">http://www.syuhari.jp/blog/archives/143</guid>
		<description><![CDATA[Google AJAX Search API を使用してキーワードや住所から自分のサイトに Google Map を表示させるメモ Google AJAX Search API KEY と Google Map API KEY を指定して JavaScript を読み込む &#60;script src="http://www.google.com/uds/api?file=uds.js&#38;v=1.0&#38;key=Google AJAX Search API KEY" type="text/javascript"&#62;&#60;/script&#62; &#60;script src="http://maps.google.com/maps?file=api&#38;v=2.x&#38;key=Google Map API KEY" type="text/javascript"&#62;&#60;/script&#62; 実際の表示部分。 q=キーワードで表示させる地図のキーワード（または住所）を指定する。 &#60;script type="text/javascript"&#62; &#60;!-- var gls; var gMap; function OnLocalSearch() { if (!gls.results) return; var first = gls.results[0]; var point [...]]]></description>
			<content:encoded><![CDATA[<p>Google AJAX Search API を使用してキーワードや住所から自分のサイトに Google Map を表示させるメモ</p>
<p>Google AJAX Search API KEY と Google Map API KEY を指定して JavaScript を読み込む</p>
<pre class="javascript" name="code">&lt;script src="http://www.google.com/uds/api?file=uds.js&amp;v=1.0&amp;key=Google AJAX Search API KEY" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="http://maps.google.com/maps?file=api&amp;v=2.x&amp;key=Google Map API KEY" type="text/javascript"&gt;&lt;/script&gt;</pre>
<p>実際の表示部分。 q=キーワードで表示させる地図のキーワード（または住所）を指定する。</p>
<pre class="javascript" name="code">&lt;script type="text/javascript"&gt;
&lt;!--
var gls;
var gMap;

function OnLocalSearch() {
    if (!gls.results) return;
    var first = gls.results[0];
    var point = new GLatLng(parseFloat(first.lat), parseFloat(first.lng));
    var zoom = 15;
    gMap.addControl(new GSmallMapControl());
    gMap.addControl(new GMapTypeControl());
    gMap.setMapType(G_MAP_TYPE);
    gMap.setCenter(point, zoom);
    var marker = new GMarker(point);
    gMap.addOverlay(marker);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(html);
    });
}

function load() {
    gMap = new GMap2(document.getElementById("map"));
    gMap.addControl(new GSmallMapControl());
    gMap.addControl(new GMapTypeControl());
    gMap.setCenter(new GLatLng(0, 0));
    gls = new GlocalSearch();
    gls.setCenterPoint(gMap);
    gls.setSearchCompleteCallback(null, OnLocalSearch);
    var q = "横浜ランドマークタワー";
    gls.execute(q);
}
//--&gt;
&lt;/script&gt;

&lt;body onLoad="load()"&gt;
&lt;div id="map" style="width: 410px; height: 320px"&gt;&lt;/div&gt;
&lt;/body&gt;</pre>
<p>各 API KEY の取得は下記ページから<br />
<a href="http://code.google.com/apis/ajaxsearch/signup.html" target="_blank" class="liexternal">Sign-up for an AJAX Search API Key &#8211; Google AJAX Search API &#8211; Google Code</a><br />
<a href="http://code.google.com/apis/maps/signup.html" target="_blank" class="liexternal">Sign Up for the Google Maps API &#8211; Google Maps API &#8211; Google Code</a></p>
<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fblog.syuhari.jp%2Farchives%2F143&amp;layout=standard&amp;show_faces=true&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=80" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:80px;" allowTransparency="true"></iframe>]]></content:encoded>
			<wfw:commentRss>http://blog.syuhari.jp/archives/143/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

