<?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>YOYO'S BLOG &#187; javascript</title>
	<atom:link href="http://blog.fesite.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fesite.com</link>
	<description>致力于WEB技术研究的IT博客</description>
	<lastBuildDate>Sun, 22 Aug 2010 15:52:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>PHP的escape函数的实现方法</title>
		<link>http://blog.fesite.com/2009/10/20/php-escape/</link>
		<comments>http://blog.fesite.com/2009/10/20/php-escape/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 16:43:23 +0000</pubDate>
		<dc:creator>yoyo</dc:creator>
				<category><![CDATA[Javascript | Ajax]]></category>
		<category><![CDATA[PHP | MySQL]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.fesite.com/?p=1349</guid>
		<description><![CDATA[很多时候需要用到js的escape函数来转换中文字符，可是用js转换后的字符怎么用php来转换回来呢，下面我就找到了两个很实用的函数。 GB2312编码： function unescape($str) { &#160;&#160; &#160; $str = rawurldecode($str); &#160;&#160; &#160; preg_match_all(&#34;/%u.{4}&#124;&#38;#x.{4};&#124;&#38;#d+;&#124;.+/U&#34;,$str,$r); &#160;&#160; &#160; $ar = $r[0]; &#160;&#160; &#160; foreach($ar as $k=&#62;$v) { &#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160;if(substr($v,0,2) == &#34;%u&#34;) &#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; $ar[$k] = iconv(&#34;UCS-2&#34;,&#34;GBK&#34;,pack(&#34;H4&#34;,substr($v,-4))); &#160;&#160; &#160; &#160; &#160; &#160; &#160; &#160;elseif(substr($v,0,3) == [...]]]></description>
			<content:encoded><![CDATA[<p>很多时候需要用到js的escape函数来转换中文字符，可是用js转换后的字符怎么用php来转换回来呢，下面我就找到了两个很实用的函数。</p>
<p>GB2312编码：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">unescape</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> <br />&nbsp;&nbsp; &nbsp; </span><span style="color: #00008b;">$str</span><span style="color: Gray;"> = </span><span style="color: Blue;">rawurldecode</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Olive;">)</span><span style="color: Gray;">; <br />&nbsp;&nbsp; &nbsp; </span><span style="color: Blue;">preg_match_all</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/%u.{4}|&amp;#x.{4};|&amp;#d+;|.+/U</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$str</span><span style="color: Gray;">,</span><span style="color: #00008b;">$r</span><span style="color: Olive;">)</span><span style="color: Gray;">; <br />&nbsp;&nbsp; &nbsp; </span><span style="color: #00008b;">$ar</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$r</span><span style="color: Olive;">[</span><span style="color: Maroon;">0</span><span style="color: Olive;">]</span><span style="color: Gray;">; <br />&nbsp;&nbsp; &nbsp; </span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$ar</span><span style="color: Gray;"> </span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$k</span><span style="color: Gray;">=&gt;</span><span style="color: #00008b;">$v</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$v</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Maroon;">2</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">%u</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$ar</span><span style="color: Olive;">[</span><span style="color: #00008b;">$k</span><span style="color: Olive;">]</span><span style="color: Gray;"> = </span><span style="color: Blue;">iconv</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UCS-2</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GBK</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">pack</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">H4</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$v</span><span style="color: Gray;">,-</span><span style="color: Maroon;">4</span><span style="color: Olive;">)))</span><span style="color: Gray;">; <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">elseif</span><span style="color: Olive;">(</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$v</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Maroon;">3</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&amp;#x</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$ar</span><span style="color: Olive;">[</span><span style="color: #00008b;">$k</span><span style="color: Olive;">]</span><span style="color: Gray;"> = </span><span style="color: Blue;">iconv</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UCS-2</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GBK</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">pack</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">H4</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$v</span><span style="color: Gray;">,</span><span style="color: Maroon;">3</span><span style="color: Gray;">,-</span><span style="color: Maroon;">1</span><span style="color: Olive;">)))</span><span style="color: Gray;">; <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">elseif</span><span style="color: Olive;">(</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$v</span><span style="color: Gray;">,</span><span style="color: Maroon;">0</span><span style="color: Gray;">,</span><span style="color: Maroon;">2</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">&amp;#</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #00008b;">$ar</span><span style="color: Olive;">[</span><span style="color: #00008b;">$k</span><span style="color: Olive;">]</span><span style="color: Gray;"> = </span><span style="color: Blue;">iconv</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UCS-2</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GBK</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">pack</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$v</span><span style="color: Gray;">,</span><span style="color: Maroon;">2</span><span style="color: Gray;">,-</span><span style="color: Maroon;">1</span><span style="color: Olive;">)))</span><span style="color: Gray;">; <br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"> <br />&nbsp;&nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;"> <br />&nbsp;&nbsp; &nbsp; </span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Blue;">join</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$ar</span><span style="color: Olive;">)</span><span style="color: Gray;">; <br /></span><span style="color: Olive;">}</span><span style="color: Gray;"></span></div></div>
<p>UTF8编码：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">unescape</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">$ret</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">''</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">$len</span><span style="color: Gray;"> = </span><span style="color: Blue;">strlen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">for</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: #00008b;">$i</span><span style="color: Gray;"> &lt; </span><span style="color: #00008b;">$len</span><span style="color: Gray;">; </span><span style="color: #00008b;">$i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Olive;">]</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">'</span><span style="color: Red;">%</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> &amp;&amp; </span><span style="color: #00008b;">$str</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Gray;">+</span><span style="color: Maroon;">1</span><span style="color: Olive;">]</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">'</span><span style="color: Red;">u</span><span style="color: #8b0000;">'</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">$val</span><span style="color: Gray;"> = </span><span style="color: Blue;">hexdec</span><span style="color: Olive;">(</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;">, </span><span style="color: #00008b;">$i</span><span style="color: Gray;">+</span><span style="color: Maroon;">2</span><span style="color: Gray;">, </span><span style="color: Maroon;">4</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br />&nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Gray;"> &lt; </span><span style="color: Maroon;">0x7f</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #00008b;">$ret</span><span style="color: Gray;"> .= </span><span style="color: Blue;">chr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Gray;"> &lt; </span><span style="color: Maroon;">0x800</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #00008b;">$ret</span><span style="color: Gray;"> .= </span><span style="color: Blue;">chr</span><span style="color: Olive;">(</span><span style="color: Maroon;">0xc0</span><span style="color: Gray;">|</span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Gray;">&gt;&gt;</span><span style="color: Maroon;">6</span><span style="color: Olive;">))</span><span style="color: Gray;">.</span><span style="color: Blue;">chr</span><span style="color: Olive;">(</span><span style="color: Maroon;">0x80</span><span style="color: Gray;">|</span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Gray;">&amp;</span><span style="color: Maroon;">0x3f</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: #00008b;">$ret</span><span style="color: Gray;"> .= </span><span style="color: Blue;">chr</span><span style="color: Olive;">(</span><span style="color: Maroon;">0xe0</span><span style="color: Gray;">|</span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Gray;">&gt;&gt;</span><span style="color: Maroon;">12</span><span style="color: Olive;">))</span><span style="color: Gray;">.</span><span style="color: Blue;">chr</span><span style="color: Olive;">(</span><span style="color: Maroon;">0x80</span><span style="color: Gray;">|</span><span style="color: Olive;">((</span><span style="color: #00008b;">$val</span><span style="color: Gray;">&gt;&gt;</span><span style="color: Maroon;">6</span><span style="color: Olive;">)</span><span style="color: Gray;">&amp;</span><span style="color: Maroon;">0x3f</span><span style="color: Olive;">))</span><span style="color: Gray;">.</span><span style="color: Blue;">chr</span><span style="color: Olive;">(</span><span style="color: Maroon;">0x80</span><span style="color: Gray;">|</span><span style="color: Olive;">(</span><span style="color: #00008b;">$val</span><span style="color: Gray;">&amp;</span><span style="color: Maroon;">0x3f</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br />&nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">$i</span><span style="color: Gray;"> += </span><span style="color: Maroon;">5</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Olive;">]</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">'</span><span style="color: Red;">%</span><span style="color: #8b0000;">'</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">$ret</span><span style="color: Gray;"> .= </span><span style="color: Blue;">urldecode</span><span style="color: Olive;">(</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: #00008b;">$str</span><span style="color: Gray;">, </span><span style="color: #00008b;">$i</span><span style="color: Gray;">, </span><span style="color: Maroon;">3</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">$i</span><span style="color: Gray;"> += </span><span style="color: Maroon;">2</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: #00008b;">$ret</span><span style="color: Gray;"> .= </span><span style="color: #00008b;">$str</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Olive;">]</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: #00008b;">$ret</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"></span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.fesite.com/2009/10/20/php-escape/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Firefox 的 getYear() 问题</title>
		<link>http://blog.fesite.com/2008/08/27/firefox-getyear-question/</link>
		<comments>http://blog.fesite.com/2008/08/27/firefox-getyear-question/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 12:56:12 +0000</pubDate>
		<dc:creator>yoyo</dc:creator>
				<category><![CDATA[想说就说]]></category>
		<category><![CDATA[getYear()]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[js]]></category>
		<category><![CDATA[日期]]></category>

		<guid isPermaLink="false">http://blog.fesite.com/?p=572</guid>
		<description><![CDATA[今天在写一个js日期的时候，发现getYear()在Firefox中测试时是个三位数的108，而在ie里面是正常的怪怪的。明明是2008，这是怎么回事呢？ 经过查询相关资料，我发现原因是 javascript 的兼容性问题 var today = new date(); var year = today.getYear(); 在 Firefox 里面 getYear 返回的是 &#8220;当前年份-1900&#8243; 的值 (以前都如此) 而微软很NB的做了一个改动： 当today的年份大于等于2000的时候 直接把1900加上了 返回的 200X (而不是10X) 如：today年份是1999 返回99 today年份是2000 返回2000 一个简单的解决是加一个判断： year = (year&#60;1900?(1900+year):year); 也有另外的方法 通过 getFullYear getUTCFullYear 去调用 var year = today.getFullYear();在IE,FireFox都适用。]]></description>
			<content:encoded><![CDATA[<p>今天在写一个js日期的时候，发现getYear()在Firefox中测试时是个三位数的108，而在ie里面是正常的怪怪的。明明是<span class="key">2008，</span>这是怎么回事呢？</p>
<p>经过查询相关资料，我发现<span class="Code">原因是 javascript 的兼容性问题</span></p>
<p>var today = new date();<br />
var year = today.getYear();</p>
<p>在 Firefox 里面 getYear 返回的是 &#8220;当前年份-1900&#8243; 的值 (以前都如此)<br />
而微软很NB的做了一个改动：<br />
当today的年份大于等于2000的时候 直接把1900加上了 返回的 200X (而不是10X)<br />
如：today年份是1999 返回99<br />
today年份是2000 返回2000</p>
<p>一个简单的解决是加一个判断：<br />
year = (year&lt;1900?(1900+year):year);</p>
<p>也有另外的方法<br />
通过 getFullYear getUTCFullYear 去调用<br />
var year = today.getFullYear();在IE,FireFox都适用。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fesite.com/2008/08/27/firefox-getyear-question/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajax的简单入门</title>
		<link>http://blog.fesite.com/2008/03/12/ajax-javascript/</link>
		<comments>http://blog.fesite.com/2008/03/12/ajax-javascript/#comments</comments>
		<pubDate>Wed, 12 Mar 2008 12:26:20 +0000</pubDate>
		<dc:creator>yoyo</dc:creator>
				<category><![CDATA[想说就说]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[XMLHttpRequest]]></category>

		<guid isPermaLink="false">http://blog.fesite.com/2008/03/12/ajax-javascript/</guid>
		<description><![CDATA[今天谈Ajax的简单入门，对很多IT从业者来说可能有些晚了，毕竟Ajax被狂热吹捧的时代已经过去了，而现在使用Ajax技术已经不是什么新鲜的事情了，但是对一些初学者还是很有必要的。 Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成，这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。对于Ajax，最核心的一个对象是XMLHttpRequest，所有的Ajax操作都离不开对这个对象的操作。 首先我们来了解怎么在javascript中创建这个对象： var xmlHttp = new XMLHttpRequest(); 这行简单的代码在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中，创建了 XMLHttpRequest 对象。但是对于市场占有率达到70%的IE来说，这种方法是不行的，而不同的IE版本还有不同的创建方法，所以我们需要在IE下面使用下面两种创建对象的办法： try {xmlHttp = new ActiveXObject(&#34;Msxml2.XMLHTTP&#34;);//针对较新的浏览器} catch (err) {try {xmlHttp = new ActiveXObject(&#34;Microsoft.XMLHTTP&#34;);//针对较老的浏览器} catch (err2) {xmlHttp = false;}} 即使这样，我们也无法预料有些浏览器可能无法创建这个对象，所以在创建不成功的情况下，我们还要加上一句： if (!xmlHttp){alert(&#34;无法创建 XMLHttpRequest 对象！&#34;);} 结合起来就是： var xmlHttp = false;try {xmlHttp [...]]]></description>
			<content:encoded><![CDATA[<p>今天谈Ajax的简单入门，对很多IT从业者来说可能有些晚了，毕竟Ajax被狂热吹捧的时代已经过去了，而现在使用Ajax技术已经不是什么新鲜的事情了，但是对一些初学者还是很有必要的。</p>
<p>Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成，这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。对于Ajax，最核心的一个对象是XMLHttpRequest，所有的Ajax操作都离不开对这个对象的操作。</p>
<p>首先我们来了解怎么在javascript中创建这个对象：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">XMLHttpRequest</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></div></div>
<p>这行简单的代码在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏览器中，创建了 <code>XMLHttpRequest</code> 对象。但是对于市场占有率达到70%的IE来说，这种方法是不行的，而不同的IE版本还有不同的创建方法，所以我们需要在IE下面使用下面两种创建对象的办法：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">try</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ActiveXObject</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Msxml2.XMLHTTP</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//针对较新的浏览器</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">err</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">try</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ActiveXObject</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Microsoft.XMLHTTP</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//针对较老的浏览器</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">err2</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">false</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span></div></div>
<p>即使这样，我们也无法预料有些浏览器可能无法创建这个对象，所以在创建不成功的情况下，我们还要加上一句：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">xmlHttp</span><span style="color: Olive;">){</span><span style="color: Gray;"><br /></span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">无法创建 XMLHttpRequest 对象！</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span></div></div>
<p>结合起来就是：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">false</span><span style="color: Gray;">;<br /></span><span style="color: Green;">try</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">XMLHttpRequest</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">trymicrosoft</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">try</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ActiveXObject</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Msxml2.XMLHTTP</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">othermicrosoft</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">try</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ActiveXObject</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Microsoft.XMLHTTP</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">failed</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">false</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">xmlHttp</span><span style="color: Olive;">){</span><span style="color: Gray;"><br /></span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">无法创建 XMLHttpRequest 对象！</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span></div></div>
<p>然后，让我们建立一个函数getInfo()，打开异步请求：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">getInfo</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">num</span><span style="color: Gray;"> = </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">num</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//获得表单的数据</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">url</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/ajax/1.php?n=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> + </span><span style="color: Blue;">escape</span><span style="color: Olive;">(</span><span style="color: Blue;">num</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GET</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">url</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//这里的true代表是异步请求</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span></div></div>
<p>一旦用 <code>open()</code> 配置好之后，就可以发送请求了。虽然可以使用 <code>send()</code> 发送数据，但也能通过 URL 本身发送数据。事实上，在大部分<code>GET</code> 请求中，用 URL 发送数据要容易得多，所以这里用null作为send()的参数就可以了。url地址里面的php文件是被请求来处理所需要数据的php文件，就像我们平时用PHP的时候一样，后面的参数可以加多个，并用&amp;分隔开来。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">send</span><span style="color: Olive;">(</span><span style="color: Green;">null</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></div></div>
<p>在发送了数据之后，我们需要用回调方法来获得服务器的状态，所以就用到了<code>onreadystatechange</code> 属性。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">onreadystatechange</span><span style="color: Gray;"> = </span><span style="color: Blue;">updatePage</span><span style="color: Gray;">;</span></div></div>
<p>此语句已经要放在send()语句前面，这样才会有效，后面的updatePage是处理返回信息的一个函数。完整的getInfo()如下：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">getInfo</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">num</span><span style="color: Gray;"> = </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">num</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//获得表单的数据</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">url</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/ajax/1.php?n=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> + </span><span style="color: Blue;">escape</span><span style="color: Olive;">(</span><span style="color: Blue;">num</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GET</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">url</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//这里的true代表是异步请求</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">onreadystatechange</span><span style="color: Gray;"> = </span><span style="color: Blue;">updatePage</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">send</span><span style="color: Olive;">(</span><span style="color: Green;">null</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span></div></div>
<p>我们还需要在html里面来触发这个函数：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;"> </span><span style="color: #00008b;">name</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">num</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">num</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">onblur</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">getInfo()</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></div></div>
<p>下面我们需要来编写updatePage()这个函数：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">updatePage</span><span style="color: Olive;">(){</span><span style="color: Gray;"><br /></span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">xmlhttp</span><span style="color: Gray;">.</span><span style="color: Blue;">readyState</span><span style="color: Gray;"> == </span><span style="color: Maroon;">4</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">response</span><span style="color: Gray;"> = </span><span style="color: Blue;">xmlhttp</span><span style="color: Gray;">.</span><span style="color: Blue;">responseText</span><span style="color: Gray;">;<br /></span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">city</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;"> = </span><span style="color: Blue;">response</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span></div></div>
<p>上面这段代码里面的readyState是服务器返回的一个状态，4这个状态表示请求已经发送，并处理完毕。responseText是获得服务器返回的信息，然后通过javascript赋给ID为city的表单。</p>
<p>到此，一个简单的Ajax程序就完成了，完整的javascript代码如下：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">false</span><span style="color: Gray;">;<br /></span><span style="color: Green;">try</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">XMLHttpRequest</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">trymicrosoft</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">try</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ActiveXObject</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Msxml2.XMLHTTP</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">othermicrosoft</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">try</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">ActiveXObject</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Microsoft.XMLHTTP</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">catch</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">failed</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;"> = </span><span style="color: Green;">false</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">xmlHttp</span><span style="color: Olive;">){</span><span style="color: Gray;"><br /></span><span style="color: Blue;">alert</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">无法创建 XMLHttpRequest 对象！</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;<br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">getInfo</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">num</span><span style="color: Gray;"> = </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">num</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//获得表单的数据</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">url</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/ajax/1.php?n=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> + </span><span style="color: Blue;">escape</span><span style="color: Olive;">(</span><span style="color: Blue;">num</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">GET</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">url</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span><span style="color: #ffa500;">//这里的true代表是异步请求</span><span style="color: Gray;"><br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">onreadystatechange</span><span style="color: Gray;"> = </span><span style="color: Blue;">updatePage</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">xmlHttp</span><span style="color: Gray;">.</span><span style="color: Blue;">send</span><span style="color: Olive;">(</span><span style="color: Green;">null</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;<br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">updatePage</span><span style="color: Olive;">(){</span><span style="color: Gray;"><br /></span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">xmlhttp</span><span style="color: Gray;">.</span><span style="color: Blue;">readyState</span><span style="color: Gray;"> == </span><span style="color: Maroon;">4</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"><br /></span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">response</span><span style="color: Gray;"> = </span><span style="color: Blue;">xmlhttp</span><span style="color: Gray;">.</span><span style="color: Blue;">responseText</span><span style="color: Gray;">;<br /></span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">city</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;"> = </span><span style="color: Blue;">response</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span></div></div>
<p>这里还缺一个php文件，由于处理的方式不一样，写法也不一样，而且这不是Ajax的主要部分，所以这里就不放代码了。只要记住php是输出并返回所需要的数据就可以了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fesite.com/2008/03/12/ajax-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>用javascript获取textarea中的光标位置</title>
		<link>http://blog.fesite.com/2008/03/06/javascript-textarea/</link>
		<comments>http://blog.fesite.com/2008/03/06/javascript-textarea/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 15:23:15 +0000</pubDate>
		<dc:creator>yoyo</dc:creator>
				<category><![CDATA[Javascript | Ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[光标]]></category>

		<guid isPermaLink="false">http://blog.fesite.com/2008/03/07/javascript-textarea/</guid>
		<description><![CDATA[Javascript一向以他的灵活随意而著称，这也使得它的功能可以非常的强大，而由于没有比较好的调试工具，又使得它使用起来困难重重，尤其使对于一些初学者，更是感觉到无从下手。今天探讨的问题是用javascript获取textarea中光标的位置。 对于写javascript写网页编辑器的人来说，获取textarea中的光标位置是一个非常重要的问题，而往往很多人在这个地方不知所措，找不到好的办法。昨天我在网上找到了一段javascript代码，本来不想把原版放在这里的，就是因为太精彩了，怕我给改坏了，所以还是原版放在这里吧。 var start=0;&#160;&#160; &#160;var end=0;&#160;&#160; &#160;function add(){&#160; &#160; &#160; &#160;&#160;&#160; &#160; &#160; &#160;var textBox = document.getElementById(&#34;ta&#34;);&#160;&#160; &#160; &#160; &#160;var pre = textBox.value.substr(0, start);&#160;&#160; &#160; &#160; &#160;var post = textBox.value.substr(end);&#160;&#160; &#160; &#160; &#160;textBox.value = pre + document.getElementById(&#34;inputtext&#34;).value + post;&#160;&#160; &#160;}&#160;&#160; &#160;function savePos(textBox){&#160;&#160; &#160; &#160; &#160;//如果是Firefox(1.5)的话，方法很简单&#160;&#160; &#160; &#160; &#160;if(typeof(textBox.selectionStart) == &#34;number&#34;){&#160;&#160; &#160; &#160; &#160; &#160; &#160;start [...]]]></description>
			<content:encoded><![CDATA[<p>Javascript一向以他的灵活随意而著称，这也使得它的功能可以非常的强大，而由于没有比较好的调试工具，又使得它使用起来困难重重，尤其使对于一些初学者，更是感觉到无从下手。今天探讨的问题是用javascript获取textarea中光标的位置。</p>
<p>对于写javascript写网页编辑器的人来说，获取textarea中的光标位置是一个非常重要的问题，而往往很多人在这个地方不知所措，找不到好的办法。昨天我在网上找到了一段javascript代码，本来不想把原版放在这里的，就是因为太精彩了，怕我给改坏了，所以还是原版放在这里吧。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">start</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">end</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">add</span><span style="color: Olive;">(){</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">textBox</span><span style="color: Gray;"> = </span><span style="color: Blue;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ta</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">pre</span><span style="color: Gray;"> = </span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">.</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Blue;">start</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">post</span><span style="color: Gray;"> = </span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">.</span><span style="color: Blue;">substr</span><span style="color: Olive;">(</span><span style="color: Blue;">end</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;"> = </span><span style="color: Blue;">pre</span><span style="color: Gray;"> + </span><span style="color: Blue;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">inputtext</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;"> + </span><span style="color: Blue;">post</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">savePos</span><span style="color: Olive;">(</span><span style="color: Blue;">textBox</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">//如果是Firefox(1.5)的话，方法很简单</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">typeof</span><span style="color: Olive;">(</span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">selectionStart</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">number</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">start</span><span style="color: Gray;"> = </span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">selectionStart</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">end</span><span style="color: Gray;"> = </span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">selectionEnd</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">//下面是IE(6.0)的方法，麻烦得很，还要计算上'\n'</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">else</span><span style="color: Gray;"> </span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">selection</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">range</span><span style="color: Gray;"> = </span><span style="color: Blue;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">selection</span><span style="color: Gray;">.</span><span style="color: Blue;">createRange</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">range</span><span style="color: Gray;">.</span><span style="color: Blue;">parentElement</span><span style="color: Olive;">()</span><span style="color: Gray;">.</span><span style="color: Blue;">id</span><span style="color: Gray;"> == </span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">id</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">// create a selection of the whole textarea</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">range_all</span><span style="color: Gray;"> = </span><span style="color: Blue;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">body</span><span style="color: Gray;">.</span><span style="color: Blue;">createTextRange</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">range_all</span><span style="color: Gray;">.</span><span style="color: Blue;">moveToElementText</span><span style="color: Olive;">(</span><span style="color: Blue;">textBox</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">//两个range，一个是已经选择的text(range)，一个是整个textarea(range_all)</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">//range_all.compareEndPoints()比较两个端点，如果range_all比range更往左(further to the left)，则&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //返回小于0的值，则range_all往右移一点，直到两个range的start相同。</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">// calculate selection start point by moving beginning of range_all to beginning of range</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">for</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">start</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">range_all</span><span style="color: Gray;">.</span><span style="color: Blue;">compareEndPoints</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">StartToStart</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">range</span><span style="color: Olive;">)</span><span style="color: Gray;"> &lt; </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">start</span><span style="color: Gray;">++</span><span style="color: Olive;">)</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">range_all</span><span style="color: Gray;">.</span><span style="color: Blue;">moveStart</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">character</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">// get number of line breaks from textarea start to selection start and add them to start</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">// 计算一下\n</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">for</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> &lt;= </span><span style="color: Blue;">start</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> ++</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">.</span><span style="color: Blue;">charAt</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">'</span><span style="color: Red;">\n</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">start</span><span style="color: Gray;">++;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #ffa500;">// create a selection of the whole textarea</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">range_all</span><span style="color: Gray;"> = </span><span style="color: Blue;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">body</span><span style="color: Gray;">.</span><span style="color: Blue;">createTextRange</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">range_all</span><span style="color: Gray;">.</span><span style="color: Blue;">moveToElementText</span><span style="color: Olive;">(</span><span style="color: Blue;">textBox</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// calculate selection end point by moving beginning of range_all to end of range</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">end</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">range_all</span><span style="color: Gray;">.</span><span style="color: Blue;">compareEndPoints</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">StartToEnd</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Blue;">range</span><span style="color: Olive;">)</span><span style="color: Gray;"> &lt; </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">end</span><span style="color: Gray;"> ++</span><span style="color: Olive;">)</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">range_all</span><span style="color: Gray;">.</span><span style="color: Blue;">moveStart</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">character</span><span style="color: #8b0000;">'</span><span style="color: Gray;">, </span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: #ffa500;">// get number of line breaks from textarea start to selection end and add them to end</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Gray;"> = </span><span style="color: Maroon;">0</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> &lt;= </span><span style="color: Blue;">end</span><span style="color: Gray;">; </span><span style="color: Blue;">i</span><span style="color: Gray;"> ++</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">textBox</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;">.</span><span style="color: Blue;">charAt</span><span style="color: Olive;">(</span><span style="color: Blue;">i</span><span style="color: Olive;">)</span><span style="color: Gray;"> == </span><span style="color: #8b0000;">'</span><span style="color: Red;">\n</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">end</span><span style="color: Gray;"> ++;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">start</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;"> = </span><span style="color: Blue;">start</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">end</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">value</span><span style="color: Gray;"> = </span><span style="color: Blue;">end</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"></span></div></div>
<p>下面是在页面中调用js代码的方法：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Olive;">&lt;</span><span style="color: Green;">form</span><span style="color: Gray;"> </span><span style="color: #00008b;">action</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">a.cgi</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">table</span><span style="color: Gray;"> </span><span style="color: #00008b;">border</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">cellspacing</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">cellpadding</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">0</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">tr</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">start: </span><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">start</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">size</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">3</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">end: </span><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">end</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">size</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">3</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">tr</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">tr</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">td</span><span style="color: Gray;"> </span><span style="color: #00008b;">colspan</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">2</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">textarea</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">ta</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">onKeydown</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">savePos(this)</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">onKeyup</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">savePos(this)</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">onmousedown</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">savePos(this)</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">onmouseup</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">savePos(this)</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">onfocus</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">savePos(this)</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">rows</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">14</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">cols</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">50</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;&lt;/</span><span style="color: Green;">textarea</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">tr</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">tr</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">input</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">inputtext</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;&lt;</span><span style="color: Green;">input</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">button</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">onClick</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">add()</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Add Text</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">/&gt;&lt;/</span><span style="color: Green;">td</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">tr</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;/</span><span style="color: Green;">table</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;/</span><span style="color: Green;">form</span><span style="color: Olive;">&gt;</span></div></div>
<p>此代码的原文是：http://blog.csdn.net/liujin4049/archive/2006/09/19/1244065.aspx，在此谢过！</p>
<p>这段js代码同时支持IE和Firefox，甚是精彩，可见此人js功力深厚啊，呵呵。</p>
<p>Btw：听说Firefox现在的市场占有率已经达到17%了，而IE8也快出来了，浏览器之间又会掀起一场你死我活的争斗，而这种争斗可以使浏览器的解析标准会越来越规范，我们写代码也会越来越省事，这实在是一件值得高兴的事。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fesite.com/2008/03/06/javascript-textarea/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>用javascript获取鼠标坐标位置</title>
		<link>http://blog.fesite.com/2007/05/10/javascript/</link>
		<comments>http://blog.fesite.com/2007/05/10/javascript/#comments</comments>
		<pubDate>Thu, 10 May 2007 08:11:10 +0000</pubDate>
		<dc:creator>yoyo</dc:creator>
				<category><![CDATA[Javascript | Ajax]]></category>
		<category><![CDATA[刀光剑影]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[鼠标]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[今天用到一个功能，就是用javascript来获取鼠标坐标，在网上找到了event.clientX和event.clientY，如实例一。 实例一： &#60;script language=&#34;javascript&#34; type=&#34;text/javascript&#34;&#62; function m(){ document.getElementById(&#34;area&#34;).innerHTML=event.clientX +&#34; , &#34;+event.clientY; } &#60;/script&#62; &#60;p id=&#34;area&#34; style=&#34;border: 1px solid ; font-size: 36px; width: 800px; height: 600px&#34; onmousemove=&#34;m();&#34;&#62;d&#60;/p&#62; 这段代码在IE下面正常，但是在Firefox下面无法运行，于是继续寻找在Firefox下面的解决办法，最终在博客园里找到了Firefox中Javascript使用event对象需要注意的问题，给函数加了一个参数就可以了，我修改的代码即实例二。 实例二： &#60;script language=&#34;javascript&#34; type=&#34;text/javascript&#34;&#62; function m(evt){ document.getElementById(&#34;area&#34;).innerHTML=evt.clientX +&#34; , &#34;+evt.clientY; } &#60;/script&#62; &#60;p id=&#34;area&#34; style=&#34;border: 1px solid ; font-size: 36px; width: 800px; height: 600px&#34; onmousemove=&#34;m(event);&#34;&#62;d&#60;/p&#62; 但是这个方法实在让人费解，我实在是不明白为什么这样就可以了。 既然这个所以然无法解释，那就留待以后解释吧，也希望知道的朋友给与一个正确的解析。]]></description>
			<content:encoded><![CDATA[<p>今天用到一个功能，就是用javascript来获取鼠标坐标，在网上找到了event.clientX和event.clientY，如实例一。<br />
实例一：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Blue;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt; </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">m</span><span style="color: Olive;">(){</span><span style="color: Gray;"> </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">area</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">innerHTML</span><span style="color: Gray;">=</span><span style="color: Blue;">event</span><span style="color: Gray;">.</span><span style="color: Blue;">clientX</span><span style="color: Gray;"> +</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> , </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">event</span><span style="color: Gray;">.</span><span style="color: Blue;">clientY</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span><span style="color: Gray;"> &lt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">script&gt;</span></div></div>
<div class="hl-surround"><div class="hl-main"><span style="color: Olive;">&lt;</span><span style="color: Green;">p</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">area</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">style</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">border: 1px solid ; font-size: 36px; width: 800px; height: 600px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">onmousemove</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">m();</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">d</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span></div></div>
<p>这段代码在IE下面正常，但是在Firefox下面无法运行，于是继续寻找在Firefox下面的解决办法，最终在博客园里找到了<a href="http://www.cnblogs.com/dudu/archive/2005/07/31/105400.html" target="_blank">Firefox中Javascript使用event对象需要注意的问题</a>，给函数加了一个参数就可以了，我修改的代码即实例二。<br />
<span id="more-81"></span><br />
实例二：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Blue;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt; </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">m</span><span style="color: Olive;">(</span><span style="color: Blue;">evt</span><span style="color: Olive;">){</span><span style="color: Gray;"> </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementById</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">area</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">.</span><span style="color: Blue;">innerHTML</span><span style="color: Gray;">=</span><span style="color: Blue;">evt</span><span style="color: Gray;">.</span><span style="color: Blue;">clientX</span><span style="color: Gray;"> +</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;"> , </span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">+</span><span style="color: Blue;">evt</span><span style="color: Gray;">.</span><span style="color: Blue;">clientY</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span><span style="color: Gray;"> &lt;</span><span style="color: #8b0000;">/</span><span style="color: Red;">script&gt;</span></div></div>
<div class="hl-surround"><div class="hl-main"><span style="color: Olive;">&lt;</span><span style="color: Green;">p</span><span style="color: Gray;"> </span><span style="color: #00008b;">id</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">area</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">style</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">border: 1px solid ; font-size: 36px; width: 800px; height: 600px</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">onmousemove</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">m(event);</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">d</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">p</span><span style="color: Olive;">&gt;</span></div></div>
<p>但是这个方法实在让人费解，我实在是不明白为什么这样就可以了。</p>
<p>既然这个所以然无法解释，那就留待以后解释吧，也希望知道的朋友给与一个正确的解析。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fesite.com/2007/05/10/javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>用php+javascript实现二级级联菜单的制作</title>
		<link>http://blog.fesite.com/2007/03/15/php-javascript/</link>
		<comments>http://blog.fesite.com/2007/03/15/php-javascript/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 16:19:53 +0000</pubDate>
		<dc:creator>yoyo</dc:creator>
				<category><![CDATA[刀光剑影]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[二级菜单]]></category>
		<category><![CDATA[级联菜单]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[二级级联菜单在我去年的时候就用asp+js做过，而现在忽然拿出来再做的时候我发现我忘记了，而且原来用asp写的程序都找不到了，真晕[emot]sweat[/emot]，于是到网上搜，找了半天，我发现网上的写法各异，而且都特别复杂，这么一个二级级联菜单，有必要弄这么复杂吗？于是自己想重新写一个简单的。在经过半个小时左右的思考后，我完成了二级级联菜单的设计和制作。 大体思路是这样的：为了不让先前的页面刷新，我用iframe潜入了一个二级子页面，用来读取数据库中的数据，最后把想要的数据传递给父级页面，完成数据的选择和转移。 主要程序代码如下（部分代码有改动，但不影响功能）： 父页面reg.html： &#60;iframe src=&#8221;city.php&#8221; width=&#8221;300&#8243; height=&#8221;22&#8243; frameborder=&#8221;0&#8243; scrolling=&#8221;no&#8221;&#62;&#60;/iframe&#62; &#60;input name=&#8221;city&#8221; type=&#8221;hidden&#8221; id=&#8221;city&#8221; value=&#8221;" /&#62; 子页面city.php： &#60;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&#62; function goto(n){ this.location.href=&#8221;city.php?sh_id=&#8221;+n; } &#60;/script&#62; &#60;select name=&#8221;sh&#8221; onchange=&#8221;goto(this.value)&#8221;&#62; &#60;option&#62;请选择所在省市&#60;/option&#62; &#60;?php include_once(&#8220;db.php&#8221;); $sql=&#8221;select * from province order by sh_id asc&#8221;; $result=mysql_query($sql); while($row=mysql_fetch_assoc($result)){ ?&#62; &#60;option value=&#8221;&#60;? echo $row["sh_id"];?&#62;&#8221; &#60;? if($_GET["sh_id"]==$row["sh_id"]){echo &#8216;selected=&#8221;selected&#8221;&#8216;;}?&#62;&#62;&#60;? echo $row["sh_name"];?&#62;&#60;/option&#62; &#60;?php } ?&#62; &#60;/select&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>二级级联菜单在我去年的时候就用asp+js做过，而现在忽然拿出来再做的时候我发现我忘记了，而且原来用asp写的程序都找不到了，真晕[emot]sweat[/emot]，于是到网上搜，找了半天，我发现网上的写法各异，而且都特别复杂，这么一个二级级联菜单，有必要弄这么复杂吗？于是自己想重新写一个简单的。在经过半个小时左右的思考后，我完成了二级级联菜单的设计和制作。</p>
<p>大体思路是这样的：为了不让先前的页面刷新，我用iframe潜入了一个二级子页面，用来读取数据库中的数据，最后把想要的数据传递给父级页面，完成数据的选择和转移。</p>
<p>主要程序代码如下（部分代码有改动，但不影响功能）：<br />
父页面reg.html：</p>
<p class="code">&lt;iframe src=&#8221;city.php&#8221; width=&#8221;300&#8243; height=&#8221;22&#8243; frameborder=&#8221;0&#8243; scrolling=&#8221;no&#8221;&gt;&lt;/iframe&gt; &lt;input name=&#8221;city&#8221; type=&#8221;hidden&#8221; id=&#8221;city&#8221; value=&#8221;" /&gt;</p>
<p>子页面city.php：</p>
<p class="code">&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&gt;<br />
function goto(n){<br />
this.location.href=&#8221;city.php?sh_id=&#8221;+n;<br />
}<br />
&lt;/script&gt;</p>
<p>&lt;select name=&#8221;sh&#8221; onchange=&#8221;goto(this.value)&#8221;&gt;<br />
&lt;option&gt;请选择所在省市&lt;/option&gt;<br />
&lt;?php<br />
include_once(&#8220;db.php&#8221;);<br />
$sql=&#8221;select * from province order by sh_id asc&#8221;;<br />
$result=mysql_query($sql);<br />
while($row=mysql_fetch_assoc($result)){<br />
?&gt;<br />
&lt;option value=&#8221;&lt;? echo $row["sh_id"];?&gt;&#8221; &lt;? if($_GET["sh_id"]==$row["sh_id"]){echo &#8216;selected=&#8221;selected&#8221;&#8216;;}?&gt;&gt;&lt;? echo $row["sh_name"];?&gt;&lt;/option&gt;<br />
&lt;?php<br />
}<br />
?&gt;<br />
&lt;/select&gt;<br />
&lt;select name=&#8221;city&#8221; onchange=&#8221;parent.document.getElementById(&#8216;city&#8217;).value=this.value&#8221;&gt;<br />
&lt;option&gt;选择你所在的城市&lt;/option&gt;<br />
&lt;?php<br />
if(!empty($_GET["sh_id"])){<br />
//echo &#8220;ok&#8221;;<br />
$sql=&#8221;select * from city where sh_id=&#8221;.$_GET["sh_id"].&#8221; order by city_id asc&#8221;;<br />
$result=mysql_query($sql);<br />
while($row=mysql_fetch_assoc($result)){<br />
?&gt;<br />
&lt;option value=&#8221;&lt;? echo $row["city_name"];?&gt;&#8221;&gt;&lt;? echo $row["city_name"];?&gt;&lt;/option&gt;<br />
&lt;?php<br />
}<br />
}<br />
?&gt;<br />
&lt;/select&gt;</p>
<p>实例演示请看<a href="http://www.togou.net" target="_blank">团购社区</a>的注册页面：<a href="http://www.togou.net/reg.html" target="_blank">http://www.togou.net/reg.html</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fesite.com/2007/03/15/php-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Window.Open详解</title>
		<link>http://blog.fesite.com/2006/09/20/window-open/</link>
		<comments>http://blog.fesite.com/2006/09/20/window-open/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 06:12:17 +0000</pubDate>
		<dc:creator>yoyo</dc:creator>
				<category><![CDATA[Javascript | Ajax]]></category>
		<category><![CDATA[刀光剑影]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[window.open]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[一、window.open()支持环境： JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 二、基本语法： window.open(pageURL,name,parameters); 其中： pageURL 为子窗口路径 name 为子窗口句柄 parameters 为窗口参数(各参数用逗号分隔) 三、示例： &#60;script&#62; &#60;!-- window.open (\'page.html\',\'newwindow\',\'height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no\') //写成一行 --&#62; &#60;/script&#62; 脚本运行后，page.html将在新窗体newwindow中打开，宽为100，高为400，距屏顶0象素，屏左0象素，无工具条，无菜单条，无滚动条，不可调整大小，无地址栏，无状态栏。请对照。 上例中涉及的为常用的几个参数，除此以外还有很多其他参数，请见四。 四、各项参数 其中yes/no也可使用1/0；pixel value为具体的数值，单位象素。 参数 &#124; 取值范围 &#124; 说明 alwaysLowered &#124; yes/no &#124; 指定窗口隐藏在所有窗口之后 alwaysRaised &#124; yes/no &#124; 指定窗口悬浮在所有窗口之上 depended &#124; yes/no &#124; 是否和父窗口同时关闭 directories &#124; yes/no &#124; Nav2和3的目录栏是否可见 height &#124; pixel value [...]]]></description>
			<content:encoded><![CDATA[<p>一、window.open()支持环境：<br />
JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+</p>
<p>二、基本语法：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Olive;">(</span><span style="color: Blue;">pageURL</span><span style="color: Gray;">,</span><span style="color: Blue;">name</span><span style="color: Gray;">,</span><span style="color: Blue;">parameters</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></div></div>
<p>其中：<br />
pageURL 为子窗口路径<br />
name 为子窗口句柄<br />
parameters 为窗口参数(各参数用逗号分隔)</p>
<p>三、示例：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;">&gt; &lt;!-- </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Gray;">\</span><span style="color: #8b0000;">'</span><span style="color: Red;">page.html</span><span style="color: Navy;">\'</span><span style="color: Red;">,</span><span style="color: Navy;">\'</span><span style="color: Red;">newwindow</span><span style="color: Navy;">\'</span><span style="color: Red;">,</span><span style="color: Navy;">\'</span><span style="color: Red;">height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no</span><span style="color: Navy;">\'</span><span style="color: Red;">) //写成一行 --&gt; &lt;/script&gt;</span></div></div>
<p>脚本运行后，page.html将在新窗体newwindow中打开，宽为100，高为400，距屏顶0象素，屏左0象素，无工具条，无菜单条，无滚动条，不可调整大小，无地址栏，无状态栏。请对照。<br />
上例中涉及的为常用的几个参数，除此以外还有很多其他参数，请见四。</p>
<p>四、各项参数<br />
其中yes/no也可使用1/0；pixel value为具体的数值，单位象素。</p>
<p>参数 | 取值范围 | 说明</p>
<p>alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后<br />
alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上<br />
depended | yes/no | 是否和父窗口同时关闭<br />
directories | yes/no | Nav2和3的目录栏是否可见<br />
height | pixel value | 窗口高度<br />
hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键<br />
innerHeight | pixel value | 窗口中文档的像素高度<br />
innerWidth | pixel value | 窗口中文档的像素宽度<br />
location | yes/no | 位置栏是否可见<br />
menubar | yes/no | 菜单栏是否可见<br />
outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度<br />
outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度<br />
resizable | yes/no | 窗口大小是否可调整<br />
screenX | pixel value | 窗口距屏幕左边界的像素长度<br />
screenY | pixel value | 窗口距屏幕上边界的像素长度<br />
scrollbars | yes/no | 窗口是否可有滚动栏<br />
titlebar | yes/no | 窗口题目栏是否可见<br />
toolbar | yes/no | 窗口工具栏是否可见<br />
Width | pixel value | 窗口的像素宽度<br />
z-look | yes/no | 窗口被激活后是否浮在其它窗口之上</p>
<p><span id="more-22"></span></p>
<p>【1、最基本的弹出窗口代码】<br />
其实代码非常简单：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt; &lt;!-- </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Gray;">\</span><span style="color: #8b0000;">'</span><span style="color: Red;">page.html</span><span style="color: Navy;">\'</span><span style="color: Red;">) --&gt; &lt;/script&gt;</span></div></div>
<p>因为着是一段javascripts代码，所以它们应该放在&lt;SCRIPT LANGUAGE=&#8221;javascript&#8221;&gt;标签和&lt;/script&gt;之间。&lt;!&#8211; 和 &#8211;&gt;是对一些版本低的浏览器起作用，在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。<br />
Window.open (&#8216;page.html&#8217;) 用于控制弹出新的窗口page.html，如果page.html不与主窗口在同一路径下，前面应写明路径，绝对路径(http://)和相对路径(../)均可。用单引号和双引号都可以，只是不要混用。<br />
这一段代码可以加入HTML的任意位置，&lt;head&gt;和&lt;/head&gt;之间可以，&lt;body&gt;间&lt;/body&gt;也可以，越前越早执行，尤其是页面代码长，又想使页面早点弹出就尽量往前放。</p>
<p>【2、经过设置后的弹出窗口】</p>
<p>下面再说一说弹出窗口的设置。只要再往上面的代码中加一点东西就可以了。<br />
我们来定制这个弹出的窗口的外观，尺寸大小，弹出的位置以适应该页面的具体情况。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt; &lt;!-- </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Gray;">\</span><span style="color: #8b0000;">'</span><span style="color: Red;">page.html</span><span style="color: Navy;">\'</span><span style="color: Red;">, </span><span style="color: Navy;">\'</span><span style="color: Red;">newwindow</span><span style="color: Navy;">\'</span><span style="color: Red;">, </span><span style="color: Navy;">\'</span><span style="color: Red;">height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no</span><span style="color: Navy;">\'</span><span style="color: Red;">) //写成一行 --&gt; &lt;/script&gt;</span></div></div>
<p>参数解释：<br />
&lt;script language=&#8221;javascript&#8221;&gt; js脚本开始；<br />
window.open 弹出新窗口的命令；<br />
&#8216;page.html&#8217; 弹出窗口的文件名；<br />
&#8216;newwindow&#8217; 弹出窗口的名字（不是文件名），非必须，可用空&#8221;代替；<br />
height=100 窗口高度；<br />
width=400 窗口宽度；<br />
top=0 窗口距离屏幕上方的象素值；<br />
left=0 窗口距离屏幕左侧的象素值；<br />
toolbar=no 是否显示工具栏，yes为显示；<br />
menubar，scrollbars 表示菜单栏和滚动栏。<br />
Resizable=no 是否允许改变窗口大小，yes为允许；<br />
location=no 是否显示地址栏，yes为允许；<br />
status=no 是否显示状态栏内的信息（通常是文件已经打开），yes为允许；<br />
&lt;/script&gt; js脚本结束</p>
<p>【3、用函数控制弹出窗口】</p>
<p>下面是一个完整的代码。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">JavaScript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt; &lt;!-- </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">openwin</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">page.html</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">newwindow</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//写成一行 } //--&gt; &lt;/script&gt;</span></div></div>
<p>…任意的页面内容…</p>
<p>[/coolcode]<br />
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。<br />
怎么调用呢？<br />
方法一：&lt;body onload=&#8221;openwin()&#8221;&gt; 浏览器读页面时弹出窗口；<br />
方法二：&lt;body onunload=&#8221;openwin()&#8221;&gt; 浏览器离开页面时弹出窗口；<br />
方法三：用一个连接调用：<br />
&lt;a href=&#8221;#&#8221; onclick=&#8221;openwin()&#8221;&gt;打开一个窗口&lt;/a&gt;<br />
注意：使用的&#8221;#&#8221;是虚连接。<br />
方法四：用一个按钮调用：<br />
&lt;input type=&#8221;button&#8221; onclick=&#8221;openwin()&#8221; value=&#8221;打开窗口&#8221;&gt;<br />
<!--more--><br />
【4、同时弹出2个窗口】</p>
<p>对源代码稍微改动一下：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;"> </span><span style="color: #00008b;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">JavaScript</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"> </span><span style="color: #ffa500;">&lt;!-- function openwin() { window.open (&quot;page.html&quot;, &quot;newwindow&quot;, &quot;height=100, width=100, top=0,left=0,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no&quot;) //写成一行 window.open (&quot;page2.html&quot;, &quot;newwindow2&quot;, &quot;height=100, width=100, top=100, left=100,toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no&quot;) //写成一行 } //--&gt;</span><span style="color: Gray;"> </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span></div></div>
<p>为避免弹出的2个窗口覆盖，用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面说过的四种方法调用即可。<br />
注意：2个窗口的name(newwindows和newwindow2)不要相同，或者干脆全部为空。OK？</p>
<p>【5、主窗口打开文件1.htm，同时弹出小窗口page.html】</p>
<p>如下代码加入主窗口&lt;head&gt;区：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt; &lt;!-- </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">openwin</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">page.html</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">width=200,height=200</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//--&gt; &lt;/script&gt;</span></div></div>
<p>加入&lt;body&gt;区：<br />
&lt;a href=&#8221;1.htm&#8221; onclick=&#8221;openwin()&#8221;&gt;open&lt;/a&gt;即可。</p>
<p>【6、弹出的窗口之定时关闭控制】</p>
<p>下面我们再对弹出的窗口进行一些控制，效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的HTML中，可不是主页面中，否则…)，让它10秒后自动关闭是不是更酷了？<br />
首先，将如下代码加入page.html文件的&lt;head&gt;区：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">JavaScript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt; </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">closeit</span><span style="color: Olive;">(){</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">setTimeout</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">self.close()</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: Maroon;">10000</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//毫秒 } &lt;/script&gt;</span></div></div>
<p>然后，再用&lt;body onload=&#8221;closeit()&#8221;&gt; 这一句话代替page.html中原有的&lt;BODY&gt;这一句就可以了。(这一句话千万不要忘记写啊！这一句的作用是调用关闭窗口的代码，10秒钟后就自行关闭该窗口。)</p>
<p>【7、在弹出窗口中加上一个关闭按钮】</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Olive;">&lt;</span><span style="color: Green;">form</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"> </span><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">关闭</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">onclick</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">window.close()</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">button</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span><span style="color: Gray;"> </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">form</span><span style="color: Olive;">&gt;</span></div></div>
<p>呵呵，现在更加完美了！</p>
<p>【8、内包含的弹出窗口-一个页面两个窗口】</p>
<p>上面的例子都包含两个窗口，一个是主窗口，另一个是弹出的小窗口。<br />
通过下面的例子，你可以在一个页面内完成上面的效果。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Olive;">&lt;</span><span style="color: Green;">script</span><span style="color: Gray;"> </span><span style="color: #00008b;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"> function openwin() { OpenWindow=window.open(&quot;&quot;, &quot;newwin&quot;, &quot;height=250, width=250,toolbar=no,scrollbars=&quot;+scroll+&quot;,menubar=no&quot;); //写成一行 OpenWindow.document.write(&quot;</span><span style="color: Olive;">&lt;</span><span style="color: Green;">TITLE</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">例子</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">TITLE</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&quot;); OpenWindow.document.write(&quot;&quot;); OpenWindow.document.write(&quot;<br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">h1</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">Hello!</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">h1</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&quot;); OpenWindow.document.write(&quot;New window opened!&quot;); OpenWindow.document.write(&quot;&quot;); OpenWindow.document.write(&quot;&quot;); OpenWindow.document.close() } </span><span style="color: Olive;">&lt;/</span><span style="color: Green;">script</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">&nbsp; </span><span style="color: Olive;">&lt;</span><span style="color: Green;">a</span><span style="color: Gray;"> </span><span style="color: #00008b;">href</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">onclick</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">openwin()</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">打开一个窗口</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">a</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br />&nbsp;<br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">input</span><span style="color: Gray;"> </span><span style="color: #00008b;">onclick</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">openwin()</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">value</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">打开窗口</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">button</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Olive;">/&gt;</span></div></div>
<p> 看看 OpenWindow.document.write()里面的代码不就是标准的HTML吗？只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用OpenWindow.document.close()结束啊。【9、终极应用&#8211;弹出的窗口之Cookie控制】</p>
<p>回想一下，上面的弹出窗口虽然酷，但是有一点小毛病(沉浸在喜悦之中，一定没有发现吧？)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页)，那么每次刷新这个页面，窗口都会弹出一次，是不是非常烦人？:-(有解决的办法吗？Yes! <img src='http://blog.fesite.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Follow me. 我们使用cookie来控制一下就可以了。 首先，将如下代码加入主页面HTML的&lt;HEAD&gt;区：
<div class="hl-surround"><div class="hl-main"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;"> </span><span style="color: Blue;">language</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">javascript</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">&gt; </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">openwin</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">open</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">page.html</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">width=200,height=200</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">get_cookie</span><span style="color: Olive;">(</span><span style="color: Blue;">Name</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">search</span><span style="color: Gray;"> = </span><span style="color: Blue;">Name</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">returnvalue</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">; </span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;"> &gt; </span><span style="color: Maroon;">0</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">offset</span><span style="color: Gray;"> = </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;">.</span><span style="color: Blue;">indexOf</span><span style="color: Olive;">(</span><span style="color: Blue;">search</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">offset</span><span style="color: Gray;"> != -</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">offset</span><span style="color: Gray;"> += </span><span style="color: Blue;">search</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;"> </span><span style="color: Blue;">end</span><span style="color: Gray;"> = </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;">.</span><span style="color: Blue;">indexOf</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">;</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Blue;">offset</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">end</span><span style="color: Gray;"> == -</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Blue;">end</span><span style="color: Gray;"> = </span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">returnvalue</span><span style="color: Gray;">=</span><span style="color: Blue;">unescape</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">cookie</span><span style="color: Gray;">.</span><span style="color: Blue;">substring</span><span style="color: Olive;">(</span><span style="color: Blue;">offset</span><span style="color: Gray;">,</span><span style="color: Blue;">end</span><span style="color: Olive;">))</span><span style="color: Gray;">;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Blue;">returnvalue</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span><span style="color: Gray;"> </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">loadpopup</span><span style="color: Olive;">(){</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Blue;">get_cookie</span><span style="color: Olive;">(</span><span style="color: Gray;">\</span><span style="color: #8b0000;">'</span><span style="color: Red;">popped</span><span style="color: Navy;">\'</span><span style="color: Red;">)==</span><span style="color: Navy;">\'\'</span><span style="color: Red;">){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;openwin() document.cookie=&quot;popped=yes&quot;;&nbsp; &nbsp; &nbsp;} } &lt;/script&gt;</span></div></div>
<p>然后，用&lt;body onload=&#8221;loadpopup()&#8221;&gt;（注意不是openwin而是loadpop啊！）替换主页面中原有的&lt;BODY&gt;这一句即可。你可以试着刷新一下这个页面或重新进入该页面，窗口再也不会弹出了。真正的Pop-Only-Once！</p>
<p>需要注意的是，JS脚本中的的大小写最好前后保持一致。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fesite.com/2006/09/20/window-open/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
