﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-adidas1981-文章分类-javascript部分</title><link>http://www.blogjava.net/adidas1981/category/2030.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 20:18:36 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 20:18:36 GMT</pubDate><ttl>60</ttl><item><title>javascript 字符串处理</title><link>http://www.blogjava.net/adidas1981/articles/7370.html</link><dc:creator>小浩</dc:creator><author>小浩</author><pubDate>Fri, 08 Jul 2005 08:06:00 GMT</pubDate><guid>http://www.blogjava.net/adidas1981/articles/7370.html</guid><wfw:comment>http://www.blogjava.net/adidas1981/comments/7370.html</wfw:comment><comments>http://www.blogjava.net/adidas1981/articles/7370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adidas1981/comments/commentRss/7370.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adidas1981/services/trackbacks/7370.html</trackback:ping><description><![CDATA[<P><FONT color=#0000ff size=2>javascript&nbsp;字符串处理<BR>一、声明字符串:<BR>var&nbsp;normal_monkey&nbsp;=&nbsp;"I&nbsp;am&nbsp;a&nbsp;monkey!&lt;br&gt;";<BR>document.writeln("Normal&nbsp;monkey&nbsp;"&nbsp;+&nbsp;normal_monkey);</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;bold_monkey&nbsp;=&nbsp;normal_monkey.bold();<BR>document.writeln("Bold&nbsp;monkey&nbsp;"&nbsp;+&nbsp;bold_monkey);</FONT></P>
<P><FONT color=#0000ff size=2>这里的声明：&nbsp;var&nbsp;bold_monkey&nbsp;=&nbsp;normal_monkey.bold();<BR>和下面对声明是等同的：&nbsp;<BR>var&nbsp;bold_monkey&nbsp;=&nbsp;"&lt;b&gt;"&nbsp;+&nbsp;normal_monkey&nbsp;+&nbsp;"&lt;/b&gt;";</FONT></P>
<P><FONT color=#0000ff size=2>第1个版本的声明看起来要简明得多。这里用到了字符串对象中<BR>的bold对象，其他的字符串对象还有indexOf,&nbsp;charAt,&nbsp;<BR>substring,&nbsp;以及split,&nbsp;这些方法可以深入字符串的组成结构。<BR>首先我们研究一下indexOf。</FONT></P>
<P><FONT color=#0000ff size=2>2、indexOf<BR>indexOf用于发现一系列的字符在一个字符串中等位置并告诉你子字符串的起始位置。如</FONT></P>
<P><FONT color=#0000ff size=2>果一个字符串中部包含该子字符串则indexOf返回returns&nbsp;"-1."<BR>例子：<BR>var&nbsp;the_word&nbsp;=&nbsp;"monkey";&nbsp;<BR>&nbsp;//让我们从单词&nbsp;"monkey"开始。&nbsp;<BR>var&nbsp;location_of_m&nbsp;=&nbsp;the_word.indexOf("m");&nbsp;<BR>&nbsp;//location_of_m(字母m的位置)将为0，因为字母m位于该字符串的起始位置。<BR>var&nbsp;location_of_o&nbsp;=&nbsp;the_word.indexOf("o");&nbsp;<BR>&nbsp;//location_of_o(字母o的位置)将为1。<BR>var&nbsp;location_of_key&nbsp;=&nbsp;the_word.indexOf("key");&nbsp;<BR>&nbsp;//location_of_key(key的位置)将为3因为子字符串“key”以字母k开始，而k</FONT></P>
<P><FONT color=#0000ff size=2>在单词monkey中的位置是3。<BR>var&nbsp;location_of_y&nbsp;=&nbsp;the_word.indexOf("y");&nbsp;<BR>&nbsp;//location_of_y)字母y的位置)是5。&nbsp;<BR>var&nbsp;cheeky&nbsp;=&nbsp;the_word.indexOf("q");&nbsp;<BR>&nbsp;//cheeky值是-1，因为在单词“monkey”中没有字母q。</FONT></P>
<P><FONT color=#0000ff size=2>indexOf更实用之处:<BR>var&nbsp;the_email&nbsp;=&nbsp;prompt("What’s&nbsp;your&nbsp;email&nbsp;address?",&nbsp;"");<BR>var&nbsp;the_at_is_at&nbsp;=&nbsp;the_email.indexOf("@");<BR>if&nbsp;(the_at_is_at&nbsp;==&nbsp;-1)<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;alert("You&nbsp;loser,&nbsp;email&nbsp;addresses&nbsp;must&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;have&nbsp;@&nbsp;signs&nbsp;in&nbsp;them.");<BR>}</FONT></P>
<P><FONT color=#0000ff size=2>这段代码询问用户的电子邮件地址，如果用户输入的电子邮件地址中不包含字符&nbsp;则&nbsp;提</FONT></P>
<P><FONT color=#0000ff size=2>示用户＂＠你输入的电子邮件地址无效，电子邮件的地址必须包含字符@。＂</FONT></P>
<P><FONT color=#0000ff size=2>3、charAt&nbsp;<BR>chatAt方法用于发现一个字符串中某个特定位置的字符。<BR>这里是一个例子：<BR>var&nbsp;the_word&nbsp;=&nbsp;"monkey";<BR>var&nbsp;the_first_letter&nbsp;=&nbsp;the_word.charAt(0);<BR>var&nbsp;the_second_letter&nbsp;=&nbsp;the_word.charAt(1);<BR>var&nbsp;the_last_letter&nbsp;=&nbsp;the_word.charAt(the_word.length-1);</FONT></P>
<P><FONT color=#0000ff size=2>the_first_letter(第1个字符)是"m"<BR>the_second_letter(第2个字符)是"o"<BR>the_last_letter(最后一个字符)是&nbsp;"y"</FONT></P>
<P><FONT color=#0000ff size=2>注意利用字符串的length(长度)属性你可以发现在包含多少个字符。在本例中，</FONT></P>
<P><FONT color=#0000ff size=2>the_word是"monkey"，所以the_word.length是6。不要忘记在一个字符串中第1个字符的</FONT></P>
<P><FONT color=#0000ff size=2>位置是0，所以最后一个字符的位置就是length-1。所以在最后一行中用了</FONT></P>
<P><FONT color=#0000ff size=2>the_word.length-1。&gt;&gt;</FONT></P>
<P><FONT color=#0000ff size=2>4、子字符串（substring）<BR>子字符串（substring）和charAt有些象，不同之处在于它能够从一个单词中抓取整个的</FONT></P>
<P><FONT color=#0000ff size=2>子字符串，而不只是字母，这里是其格式：</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;the_substring&nbsp;=&nbsp;the_string.substring(from,&nbsp;to);</FONT></P>
<P><FONT color=#0000ff size=2>"From"指的是子字符串中第１个字母的位置，"to"有点奇特，它是该子字符串中比最后</FONT></P>
<P><FONT color=#0000ff size=2>一个位置大１的位置．使用这种神奇的方法你可以标记子字符串的起始和结束位置，用</FONT></P>
<P><FONT color=#0000ff size=2>"to"的位置减去"from"的位置就会得出该子字符串的长度：</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;the_string&nbsp;=&nbsp;"monkey";<BR>var&nbsp;clergy&nbsp;=&nbsp;the_string.substring(0,4);<BR>var&nbsp;tool&nbsp;=&nbsp;the_string.substring(3,6);</FONT></P>
<P><FONT color=#0000ff size=2>运行该段代码后变量clergy的值为"monk";&nbsp;变量tool的值为"key"。</FONT></P>
<P><FONT color=#0000ff size=2>子字符串常和indexOf一起使用，将字符串分成若干块．例如，<BR>你可以从一个给定的URL中抽取出其域名：</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;the_url&nbsp;=&nbsp;prompt("What’s&nbsp;the&nbsp;URL?","");<BR>var&nbsp;lead_slashes&nbsp;=&nbsp;the_url.indexOf("//");<BR>var&nbsp;domain_start&nbsp;=&nbsp;lead_slashes&nbsp;+&nbsp;2;<BR>var&nbsp;without_resource&nbsp;=&nbsp;the_url.substring(domain_start,&nbsp;the_url.length);<BR>var&nbsp;next_slash&nbsp;=&nbsp;without_resource.indexOf("/");<BR>var&nbsp;domain&nbsp;=&nbsp;without_resource.substring(0,&nbsp;next_slash);</FONT></P>
<P><FONT color=#0000ff size=2>这段代码的意思是：如果你输入<BR>"</FONT><A href='http://www.webmonkey.com/javascript/index.html"' target=_blank><FONT color=#0000ff size=2>http://www.webmonkey.com/javascript/index.html"</FONT></A><FONT color=#0000ff size=2>;，则域名就是</FONT></P>
<P><FONT color=#0000ff size=2>"www.webmonkey.com"&nbsp;．如果这个方法对你来说有些麻烦，我将向你介绍如何使用split</FONT></P>
<P><FONT color=#0000ff size=2>方法简化其执行过程．但是首先我们作一些分析．</FONT></P>
<P><FONT color=#0000ff size=2>基本的技巧是将第１个斜杠和第２个斜杠之间的内容分离出来：<BR>var&nbsp;the_url&nbsp;=&nbsp;prompt("What’s&nbsp;the&nbsp;URL?","");&nbsp;<BR>//这行代码向用户询问一个URL．假设用户输入了<BR>"</FONT><A href='http://www.webmonkey.com/javascript/index.html."' target=_blank><FONT color=#0000ff size=2>http://www.webmonkey.com/javascript/index.html."</FONT></A><FONT color=#0000ff size=2>;&nbsp;<BR>var&nbsp;lead_slashes&nbsp;=&nbsp;the_url.indexOf("//");&nbsp;<BR>这行代码确定第一个双斜杠的位置．在本例中lead_slashes的值是５，因为双斜杠的位</FONT></P>
<P><FONT color=#0000ff size=2>置从５开始．</FONT></P>
<P><FONT color=#0000ff size=2>你可能会想，通常的URL都是以http://开始，所以双斜杠的位置肯定是在５开始，为什</FONT></P>
<P><FONT color=#0000ff size=2>么还要加入indexOf这一段多余的代码呢？但是问题的关键在于你不知道用户在填入URL</FONT></P>
<P><FONT color=#0000ff size=2>时是否一定填入http:，他们也许会不小心多键入了一个空格，也许他们所键入的URL在</FONT></P>
<P><FONT color=#0000ff size=2>一个加密服务器上，其URL是"</FONT><A href='https://www.whatever.com/"' target=_blank><FONT color=#0000ff size=2>https://www.whatever.com/"</FONT></A><FONT color=#0000ff size=2>;&nbsp;．在编程你必须预料到种种</FONT></P>
<P><FONT color=#0000ff size=2>可能发生的问题．所以我们必须用indexOf方法确定双斜杠的确切的起始位置．</FONT></P>
<P><B><FONT color=#0000ff size=2>var&nbsp;domain_start&nbsp;=&nbsp;lead_slashes&nbsp;+&nbsp;2;&nbsp;</FONT></B></P>
<P><FONT color=#0000ff size=2>这行代码用于计算该域名的第１个字母的起始位置．由于这里有一个双斜杠，所以域名</FONT></P>
<P><FONT color=#0000ff size=2>第１个字母的起始位置应该在双斜杠所在位置加２的位置．</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;without_resource&nbsp;=&nbsp;the_url.substring(domain_start,&nbsp;the_string.length);&nbsp;</FONT></P>
<P><FONT color=#0000ff size=2>这段代码将域名起始位置往后的所有字符都提取出来．所以执行完这行代码后</FONT></P>
<P><FONT color=#0000ff size=2>without_resource是"www.webmonkey.com/javascript/index.html."&nbsp;</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;next_slash&nbsp;=&nbsp;without_resource.indexOf("/");&nbsp;</FONT></P>
<P><FONT color=#0000ff size=2>这行代码计算出该字符串中下一个斜杠的位置，而从该字符串起始位置到这个斜杠之间</FONT></P>
<P><FONT color=#0000ff size=2>的内容就是域名．在本例中下一个斜杠的位置是17。</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;domain&nbsp;=&nbsp;without_resource.substring(0,&nbsp;next_slash);&nbsp;</FONT></P>
<P><FONT color=#0000ff size=2>最后一步是提取出该字符串起始位置到下一个斜杠之间的所有内容．在本例中使得域名</FONT></P>
<P><FONT color=#0000ff size=2>等同于"www.webmonkey.com"。</FONT></P>
<P><FONT color=#0000ff size=2>这样做确实很麻烦，利用split方法则可以使该过程容易很多．&gt;&gt;</FONT></P>
<P><FONT color=#0000ff size=2>5、分割方法(splitting&nbsp;method)&nbsp;<BR>你可以使用split方法用限位器来分割一系列的名称，然后将其<BR>放在一个数组中．例如：</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;my_friends&nbsp;="trixie,moxie,sven,guido,hermes";</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;friend_array&nbsp;=my_friends.split(",");</FONT></P>
<P><FONT color=#0000ff size=2>for&nbsp;(loop=0;&nbsp;loop&nbsp;&lt;&nbsp;friend_array.length;loop++)<BR>{&nbsp;&nbsp;&nbsp;&nbsp;document.writeln(friend_array[loop]&nbsp;+&nbsp;"&nbsp;is&nbsp;myfriend.&lt;br&gt;");}</FONT></P>
<P><FONT color=#0000ff size=2>这段代码将字符串my_friends分割成包含５个元素的数组．JavaScript可以为你自动建</FONT></P>
<P><FONT color=#0000ff size=2>立一个数组，所以你无需使用new&nbsp;Array()．</FONT></P>
<P><FONT color=#0000ff size=2>将字符串分割成数组之后，我们使用了循环语句写出每一个名称．我们可以利用split方</FONT></P>
<P><FONT color=#0000ff size=2>法简化前面所讲到的域名提取：</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;the_url&nbsp;=&nbsp;prompt("What’s&nbsp;the&nbsp;URL?","");<BR>var&nbsp;first_split&nbsp;=&nbsp;the_url.split("//");<BR>var&nbsp;without_resource&nbsp;=&nbsp;first_split[1];<BR>var&nbsp;second_split&nbsp;=&nbsp;without_resource.split("/");<BR>var&nbsp;domain&nbsp;=&nbsp;second_split[0];</FONT></P>
<P><FONT color=#0000ff size=2>这段代码简化了很多而且也更容易理解．我们来分析一些这段代码：</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;the_url&nbsp;=&nbsp;prompt("What’s&nbsp;the&nbsp;URL?","");&nbsp;</FONT></P>
<P><FONT color=#0000ff size=2>提示用户输入一个URL，假设用户输入<BR>"</FONT><A href='http://www.webmonkey.com/javascript/index.html"' target=_blank><FONT color=#0000ff size=2>http://www.webmonkey.com/javascript/index.html"</FONT></A><FONT color=#0000ff size=2>;&nbsp;．<BR>var&nbsp;first_split&nbsp;=&nbsp;the_url.split("//");&nbsp;<BR>将用户输入的字符串分割成两块：first_split[0]是"http:"，first_split[1]是</FONT></P>
<P><FONT color=#0000ff size=2>"www.webmonkey.com/javascript/index.html."&nbsp;<BR>var&nbsp;without_resource&nbsp;=&nbsp;first_split[1];&nbsp;<BR>//提取出数组中的第２个元素，所以现在without_resource是</FONT></P>
<P><FONT color=#0000ff size=2>"www.webmonkey.com/javascript/index.html."&nbsp;<BR>var&nbsp;second_split&nbsp;=&nbsp;without_resource.split("/");&nbsp;<BR>将without_resource分割成３块：www.webmonkey.com,javascript,&nbsp;和index.html．现</FONT></P>
<P><FONT color=#0000ff size=2>在你可以看到split的用途了吧？</FONT></P>
<P><FONT color=#0000ff size=2>var&nbsp;domain&nbsp;=&nbsp;second_split[0];&nbsp;</FONT></P>
<P><FONT color=#0000ff size=2>现在我们提取出新数组中的第１个元素就可得出域名． </FONT></P><img src ="http://www.blogjava.net/adidas1981/aggbug/7370.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adidas1981/" target="_blank">小浩</a> 2005-07-08 16:06 <a href="http://www.blogjava.net/adidas1981/articles/7370.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>从图像提交表单 </title><link>http://www.blogjava.net/adidas1981/articles/7214.html</link><dc:creator>小浩</dc:creator><author>小浩</author><pubDate>Wed, 06 Jul 2005 08:54:00 GMT</pubDate><guid>http://www.blogjava.net/adidas1981/articles/7214.html</guid><wfw:comment>http://www.blogjava.net/adidas1981/comments/7214.html</wfw:comment><comments>http://www.blogjava.net/adidas1981/articles/7214.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adidas1981/comments/commentRss/7214.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adidas1981/services/trackbacks/7214.html</trackback:ping><description><![CDATA[<FONT size=2>第3.6式. 从图像提交表单 </FONT>
<H4><A name=jakartastrutsckbk-CHP-3-SECT-6.1></A><FONT size=2>问题</FONT></H4>
<P><FONT size=2>你想要使用户能够通过点击一个不在HTML表单标签中的图像来提交表单。</FONT></P>
<H4><A name=jakartastrutsckbk-CHP-3-SECT-6.2></A><FONT size=2>动作要领</FONT></H4>
<P><FONT size=2>适应一个对JavaScript URL 的链接来提交表单：<BR></FONT></P><BR>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">html:link&nbsp;</SPAN><SPAN style="COLOR: #ff0000">href</SPAN><SPAN style="COLOR: #0000ff">="javascript:document.myform.submit(&nbsp;&nbsp;)"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT size=2><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">html:img&nbsp;</SPAN><SPAN style="COLOR: #ff0000">page</SPAN><SPAN style="COLOR: #0000ff">="/submit-form.gif"</SPAN></FONT><FONT size=2><SPAN style="COLOR: #ff0000">&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alt</SPAN><SPAN style="COLOR: #0000ff">="Submit"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;border</SPAN><SPAN style="COLOR: #0000ff">="0"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN></FONT><FONT size=2><SPAN style="COLOR: #000000">&nbsp;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">html:link</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV></DIV><BR>
<P><A name=jakartastrutsckbk-CHP-3-SECT-6.3><FONT size=2></FONT></A>&nbsp;</P>
<H4><FONT size=2>动作变化</FONT></H4>
<P><FONT size=2>Web 应用经常使用可点击的图像来提交表单而不是仅仅通过表单按钮。Struts </FONT><A name=jakartastrutsckbk-CHP-3-ITERM-1540></A><A name=jakartastrutsckbk-CHP-3-ITERM-1541></A><A name=jakartastrutsckbk-CHP-3-ITERM-1542></A><FONT size=2>的html:image标签可以用来产生一个显示图像的HTML input type="image" 标签。但是，对于复杂的 HTML 布局，并不总是能够将图像嵌入在表单&lt;form&gt; . . . &lt;/form&gt;标签之中。有些时候，一个 HTML 页面可能在页面的某一段可能有多个表单，而提交页面的图像则在页面的另一个区域。比如，工具条风格的图像按钮。</FONT></P>
<P><FONT size=2>上面的方法可以用于从表单之外的图像提交表单。所显示的图像嵌套在html:link标签中。该链接通过执行一行JavaScript来提交表单。在上面的代码中，JavaScript 将提交名为MyForm 的表单。表单名称必须匹配struts-config.xml文件中所配置的action元素的name属性。下面是这种方法产生的HTML 代码：</FONT></P>
<P><FONT size=2></FONT>&nbsp;</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">a&nbsp;</SPAN><SPAN style="COLOR: #ff0000">href</SPAN><SPAN style="COLOR: #0000ff">="javascript:document.myform.submit(&nbsp;&nbsp;)"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT size=2><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">img&nbsp;</SPAN><SPAN style="COLOR: #ff0000">src</SPAN><SPAN style="COLOR: #0000ff">="/myapp/struts-power.gif"</SPAN></FONT><SPAN style="COLOR: #ff0000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border</FONT></SPAN><FONT size=2><SPAN style="COLOR: #0000ff">="0"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;alt</SPAN><SPAN style="COLOR: #0000ff">="Submit"</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT size=2><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">a</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV></DIV>
<P><FONT size=2></FONT>&nbsp;</P>
<P><FONT size=2>虽然你可以直接使用上述HTML标记而不是Struts html标签，如果那样的话你将失去那些标签所提供的特征。通过使用Struts tag，你就不是必须要指定context 名称，并且你可以使图像名称和替换文本来自于资源束 (如果你需要的话)。</FONT></P>
<P><FONT size=2>另一个办法是使用html:img 标签的onclick属性：</FONT></P>
<P><FONT size=2></FONT>&nbsp;</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">html:img&nbsp;</SPAN><SPAN style="COLOR: #ff0000">page</SPAN><SPAN style="COLOR: #0000ff">="/submit-form.gif"</SPAN></FONT><SPAN style="COLOR: #ff0000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onclick</FONT></SPAN><SPAN style="COLOR: #0000ff"><FONT size=2>="document.MyForm.submit(&nbsp;);"</FONT></SPAN><SPAN style="COLOR: #ff0000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alt</FONT></SPAN><FONT size=2><SPAN style="COLOR: #0000ff">="Submit"</SPAN><SPAN style="COLOR: #ff0000">&nbsp;border</SPAN><SPAN style="COLOR: #0000ff">="0"</SPAN><SPAN style="COLOR: #0000ff">/&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV></DIV>
<P><FONT size=2></FONT>&nbsp;</P>
<P><FONT size=2>这种方式的缺点是，有些浏览器并不提供图像是可以点击的一些可视提示线索。因为图像嵌入到一个链接中，大多数浏览器都会在改变鼠标指针以提示该图像是可以点击的。</FONT></P>
<TABLE cellSpacing=0 cellPadding=0 bgColor=#cccccc>
<TBODY>
<TR>
<TD vAlign=top>
<P><FONT style="BACKGROUND-COLOR: #ffffff"><FONT color=#ff0000><FONT size=2><EM><TT>如果你想要你的应用在浏览器禁止JavaScript</TT></EM><TT><EM>的情况下也能够进行，还应该在表单中的某处提供一个常规的提交按钮。</EM></TT></FONT></FONT></FONT></P></TD></TR></TBODY></TABLE>
<P><FONT size=2></FONT>&nbsp;</P>
<H4><FONT size=2>相关招式</FONT></H4>
<P><FONT size=2>第3.9式会描述如何在表单的action属性中指定的地方将表单提交到另外一个URL。</FONT></P><img src ="http://www.blogjava.net/adidas1981/aggbug/7214.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adidas1981/" target="_blank">小浩</a> 2005-07-06 16:54 <a href="http://www.blogjava.net/adidas1981/articles/7214.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML过滤文本</title><link>http://www.blogjava.net/adidas1981/articles/7211.html</link><dc:creator>小浩</dc:creator><author>小浩</author><pubDate>Wed, 06 Jul 2005 08:48:00 GMT</pubDate><guid>http://www.blogjava.net/adidas1981/articles/7211.html</guid><wfw:comment>http://www.blogjava.net/adidas1981/comments/7211.html</wfw:comment><comments>http://www.blogjava.net/adidas1981/articles/7211.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adidas1981/comments/commentRss/7211.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adidas1981/services/trackbacks/7211.html</trackback:ping><description><![CDATA[<TABLE cellSpacing=0 cellPadding=0 border=1>
<TBODY>
<TR>
<TD colSpan=3>
<H5><A name=jakartastrutsckbk-CHP-3-TABLE-4></A><FONT color=#0000ff>Table 3-4. 被过滤的字符</FONT></H5></TD></TR>
<TR>
<TD>
<P align=center><STRONG><FONT color=#0000ff>字符名称</FONT></STRONG></P></TD>
<TD>
<P align=center><STRONG><FONT color=#0000ff>字符值</FONT></STRONG></P></TD>
<TD>
<P align=center><STRONG><FONT color=#0000ff>替代实体</FONT><A name=jakartastrutsckbk-CHP-3-ITERM-1591></A></STRONG></P></TD></TR>
<TR>
<TD>
<P><FONT color=#0000ff>大于</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>&lt;&nbsp;</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>&amp;lt;</FONT></P></TD></TR>
<TR>
<TD>
<P><FONT color=#0000ff>小于</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>&gt;&nbsp;</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>&amp;gt;</FONT></P></TD></TR>
<TR>
<TD>
<P><FONT color=#0000ff>&amp;符号</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>&amp;</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>&amp;amp;</FONT></P></TD></TR>
<TR>
<TD>
<P><FONT color=#0000ff>双引号</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>"</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>&amp;quot;</FONT></P></TD></TR>
<TR>
<TD>
<P><FONT color=#0000ff>反斜杠</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>\</FONT></P></TD>
<TD>
<P><FONT color=#0000ff>&amp;#39;</FONT></P></TD></TR></TBODY></TABLE><img src ="http://www.blogjava.net/adidas1981/aggbug/7211.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adidas1981/" target="_blank">小浩</a> 2005-07-06 16:48 <a href="http://www.blogjava.net/adidas1981/articles/7211.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>html:link 的 onclick 事件</title><link>http://www.blogjava.net/adidas1981/articles/7170.html</link><dc:creator>小浩</dc:creator><author>小浩</author><pubDate>Wed, 06 Jul 2005 02:06:00 GMT</pubDate><guid>http://www.blogjava.net/adidas1981/articles/7170.html</guid><wfw:comment>http://www.blogjava.net/adidas1981/comments/7170.html</wfw:comment><comments>http://www.blogjava.net/adidas1981/articles/7170.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adidas1981/comments/commentRss/7170.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adidas1981/services/trackbacks/7170.html</trackback:ping><description><![CDATA[<DIV class=postText>
<P><FONT size=2>今天遇到一个问题，到现在也没能比较圆满的解决，是不是Struts在标签库上还不够完善呢。比如有一个界面是显示课件列表的，在最后一栏里可以对数据进行操作，如下所示：</FONT></P>
<P>
<TABLE border=1>
<TBODY>
<TR>
<TH><FONT size=2>Code</FONT></TH>
<TH><FONT size=2>Name</FONT></TH>
<TH><FONT size=2>Author</FONT></TH>
<TH><FONT size=2>OP</FONT></TH></TR>
<TR>
<TD><FONT size=2>10000001</FONT></TD>
<TD><FONT size=2>风洞模型课件</FONT></TD>
<TD><FONT size=2>刘金东</FONT></TD>
<TD><A href="http://localhost:8080/democenter/courseware/edit.do?action=View&amp;code=10000001"><FONT size=2>View</FONT></A><FONT size=2> </FONT><A href="http://localhost:8080/democenter/courseware/edit.do?action=Edit&amp;code=10000001"><FONT size=2>Edit</FONT></A><FONT size=2> </FONT><A href="http://localhost:8080/democenter/courseware/delete.do?code=10000001"><FONT size=2>Delete</FONT></A><FONT size=2> </FONT></TD></TR>
<TR>
<TD><FONT size=2>10000002</FONT></TD>
<TD><FONT size=2>卡门涡阶课件</FONT></TD>
<TD><FONT size=2>季铭义</FONT></TD>
<TD><A href="http://localhost:8080/democenter/courseware/edit.do?action=View&amp;code=10000002"><FONT size=2>View</FONT></A><FONT size=2> </FONT><A href="http://localhost:8080/democenter/courseware/edit.do?action=Edit&amp;code=10000002"><FONT size=2>Edit</FONT></A><FONT size=2> </FONT><A href="http://localhost:8080/democenter/courseware/delete.do?code=10000002"><FONT size=2>Delete</FONT></A><FONT size=2> </FONT></TD></TR>
<TR>
<TD><FONT size=2>10000003</FONT></TD>
<TD><FONT size=2>复变函数课件</FONT></TD>
<TD><FONT size=2>秦江</FONT></TD>
<TD><A href="http://localhost:8080/democenter/courseware/edit.do?action=View&amp;code=10000003"><FONT size=2>View</FONT></A><FONT size=2> </FONT><A href="http://localhost:8080/democenter/courseware/edit.do?action=Edit&amp;code=10000003"><FONT size=2>Edit</FONT></A><FONT size=2> </FONT><A href="http://localhost:8080/democenter/courseware/delete.do?code=10000003"><FONT size=2>Delete</FONT></A><FONT size=2> </FONT></TD></TR>
<TR>
<TD><FONT size=2>10000004</FONT></TD>
<TD><FONT size=2>听力课件</FONT></TD>
<TD><FONT size=2>郭长凯</FONT></TD>
<TD><A href="http://localhost:8080/democenter/courseware/edit.do?action=View&amp;code=10000004"><FONT size=2>View</FONT></A><FONT size=2> </FONT><A href="http://localhost:8080/democenter/courseware/edit.do?action=Edit&amp;code=10000004"><FONT size=2>Edit</FONT></A><FONT size=2> </FONT><A href="http://localhost:8080/democenter/courseware/delete.do?code=10000004"><FONT size=2>Delete</FONT></A><FONT size=2> </FONT></TD></TR></TBODY></TABLE></P>
<P><FONT size=2>现在希望当用户按删除时先弹出个确认框，提示“是否确认删除风洞模型课件”，用户可以选择确认或取消。其中“是否确认删除”是在资源文件里定义的（prompt.confirm.delete=是否确认删除{0}），“风洞模型课件”是课件的名称，课件bean名为"ware"。如果写成HTML，就是：</FONT></P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">a&nbsp;href</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000"><IMG src="http://www.cnblogs.com/Images/dot.gif"></SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;onclick</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">return&nbsp;confirm('是否确认删除风洞模型课件')</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN><SPAN style="COLOR: #000000">Delete</SPAN><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">a</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN></FONT></DIV></DIV>
<P><FONT size=2>但因为信息都是动态的，所以就有问题了。因为在&lt;html:link&gt;的onclick="..."里，"&lt;%"必须紧跟在第一个单引号后才能正确解析，即不能写为onclick="return confirm('&lt;%=str%&gt;')"。所以，现在有两种方法实现所需要的功能：</FONT></P>
<P><FONT size=2>1、不用&lt;html:link&gt;，直接用HTML的&lt;a&gt;标记：</FONT></P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">bean:define&nbsp;id</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">toDel</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;name</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ware</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;property</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">name</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;type</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">String</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT size=2><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">a&nbsp;href</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">delete.do?code=&lt;bean:write&nbsp;name=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ware</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;property=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN></FONT><FONT size=2><SPAN style="COLOR: #000000">&nbsp;<BR><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;onclick</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">return&nbsp;confirm('&lt;bean:message&nbsp;key=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">prompt.confirm.</SPAN><SPAN style="COLOR: #0000ff">delete</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;bundle=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">root</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;arg0=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;%=</SPAN><SPAN style="COLOR: #000000">toDel</SPAN><SPAN style="COLOR: #000000">%&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/&gt;');</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT size=2><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">bean:message&nbsp;key</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">course.list.op.delete</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT size=2><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">a</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV></DIV>
<P><FONT size=2>2、使用&lt;html:link&gt;，事先定义一个只含一个参数的script函数，代码如下：</FONT></P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">script&nbsp;language</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">JavaScript</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #000000"><FONT size=2>&lt;!--</FONT></SPAN><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN><SPAN style="COLOR: #0000ff"><FONT size=2>function</FONT></SPAN><FONT size=2><SPAN style="COLOR: #000000">&nbsp;confirmDelete(str){<BR><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;confirm('</SPAN><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">bean:message&nbsp;key</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">prompt.confirm.delete</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;bundle</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">root</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;arg0</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">'+str+'</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/&gt;</SPAN></FONT><FONT size=2><SPAN style="COLOR: #000000">');<BR><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;}<BR><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></SPAN><SPAN style="COLOR: #000000">--&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT size=2><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">script</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV></DIV>
<P><FONT size=2>然后在删除链接的地方这样写：</FONT></P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">bean:define&nbsp;id</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">toDel</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;name</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ware</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;property</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">name</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;type</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">String</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT size=2><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">html:link&nbsp;action</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/delete</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;paramId</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;paramName</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">ware</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;paramProperty</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">code</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&nbsp;onclick</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&lt;%=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000">&nbsp;confirmDelete(</SPAN><SPAN style="COLOR: #000000">'</SPAN><SPAN style="COLOR: #000000">"+toDel+"</SPAN><SPAN style="COLOR: #000000">'</SPAN><SPAN style="COLOR: #000000">);</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">%&gt;</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><FONT size=2><SPAN style="COLOR: #000000">&lt;</SPAN><SPAN style="COLOR: #000000">bean:message&nbsp;key</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">course.list.op.delete</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">/&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN><FONT size=2><SPAN style="COLOR: #000000">&lt;/</SPAN><SPAN style="COLOR: #000000">html:link</SPAN><SPAN style="COLOR: #000000">&gt;</SPAN></FONT><SPAN style="COLOR: #000000"><BR><FONT size=2><IMG src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align=top></FONT></SPAN></DIV></DIV>
<P><FONT size=2>这两种方法都能达到目的，我暂时使用了第2种用法，毕竟在struts程序的jsp里直接使用&lt;a&gt;标记有点别扭。我看了一下struts文档，能把资源中的{0}转换为实际内容的标签好象只有&lt;bean:message&gt;这一个，其实如果有办法让&lt;bean:message&gt;得到的内容放进某个bean里就很好办了，可惜……。</FONT></P>
<P><FONT size=2>另外，没研究过EL标签库，不知道会不会有帮助。</FONT></P></DIV><img src ="http://www.blogjava.net/adidas1981/aggbug/7170.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adidas1981/" target="_blank">小浩</a> 2005-07-06 10:06 <a href="http://www.blogjava.net/adidas1981/articles/7170.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaScript:鼠标点击色码方块使背景变颜色</title><link>http://www.blogjava.net/adidas1981/articles/7133.html</link><dc:creator>小浩</dc:creator><author>小浩</author><pubDate>Tue, 05 Jul 2005 05:51:00 GMT</pubDate><guid>http://www.blogjava.net/adidas1981/articles/7133.html</guid><wfw:comment>http://www.blogjava.net/adidas1981/comments/7133.html</wfw:comment><comments>http://www.blogjava.net/adidas1981/articles/7133.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adidas1981/comments/commentRss/7133.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adidas1981/services/trackbacks/7133.html</trackback:ping><description><![CDATA[<?xml:namespace prefix = html /><html:html><LINK href="/chinaip/css/common.css" type=text/css rel=stylesheet>
<CENTER>
<TABLE style="MARGIN: 10px">
<TBODY>
<TR>
<TD noWrap><FONT color=white size=2><?xml:namespace prefix = bean /><bean:write name="lbl" property="previouscolor"></bean:write></FONT></TD>
<TD>
<TABLE cellSpacing=1 cellPadding=0 bgColor=white border=0>
<TBODY>
<TR>
<TD><LABEL id=previousColor style="WIDTH: 60px; HEIGHT: 40px"></LABEL><LABEL id=thisColor style="WIDTH: 60px; HEIGHT: 40px"></LABEL></TD></TR></TBODY></TABLE></TD>
<TD noWrap><FONT color=white size=2><bean:write name="lbl" property="thiscolor"></bean:write></FONT></TD>
<TR></TR></TBODY></TABLE>
<SCRIPT language=JavaScript>

	var doc;
	
	var hex = new Array(6)
	
	hex[0] = "FF"
	
	hex[1] = "CC"
	
	hex[2] = "99"
	
	hex[3] = "66"
	
	hex[4] = "33"
	
	hex[5] = "00"

	var selectBorderColor = "red";
	var prevBorderColor = "white";
	
	// accept triplet string and display as background color

	function choosecolor(color)
	{	
		window.returnValue=color;
		window.close();
	}

	var selectColor = null;
	var selectElement = null;

	function setColor(color) {
		document.all.thisColor.style.backgroundColor =color;
		document.all.thisColor.style.color = color;
		document.all.thisColor.value = color;
		
		if(selectElement != null) {
			selectElement.style.backgroundColor = selectColor;
		}
		selectElement = document.all('#' + color);
		selectColor = selectElement.style.backgroundColor;
		selectElement.style.backgroundColor = selectBorderColor;
	}

	
	// draw all cube panels inside table cells
	
	function drawCube() {
	
		// open table
		var rows = 12;
		var cols = 18;

		var red, green, blue, redIndex, greenIndex, blueIndex, color;

		document.write('<table cellpadding=0 cellspacing=1 border=0 bgcolor=#000000 style="margin:10px;">');

//		var colorArray = new Array(rows)
		for(var i=0; i<rows; i++) {
//			colorArray[i] = new Array(cols);
			document.write('<TR>');
			for(var j=0; j<cols; j++) {
				blueIndex = parseInt(j / 6) + parseInt(i / 6) * 3;
				greenIndex = j % 6;
				redIndex = i % 6;
				red = hex[redIndex];
				green = hex[greenIndex];
				blue = hex[blueIndex];
				color = red + green + blue;
				
				document.write('<TD><table border=0 cellpadding=0 cellspacing=2 id=#' + color + ' BGCOLOR="#' + color + '" onmousemove= setColor("' + color + '") onclick=choosecolor("' + color + '")><tr><td BGCOLOR="#' + color + '" width=10 height=10></td></tr></table></TD>');
			}
			document.write('</TR>');
		}

		document.write('</table>');
			
		var prevColor = "000000";
		if(document.all("#" + dialogArguments.previousColor)) {
			prevColor = dialogArguments.previousColor;
		}
		document.all("#" + prevColor).style.backgroundColor = prevBorderColor; 
		
		document.all.previousColor.style.backgroundColor = dialogArguments.previousColor;
		
	}

	// call function to begin execution
	drawCube()

</SCRIPT>
</CENTER></html:html><img src ="http://www.blogjava.net/adidas1981/aggbug/7133.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adidas1981/" target="_blank">小浩</a> 2005-07-05 13:51 <a href="http://www.blogjava.net/adidas1981/articles/7133.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>55种网页常用小技巧(javascript)</title><link>http://www.blogjava.net/adidas1981/articles/7116.html</link><dc:creator>小浩</dc:creator><author>小浩</author><pubDate>Tue, 05 Jul 2005 01:51:00 GMT</pubDate><guid>http://www.blogjava.net/adidas1981/articles/7116.html</guid><wfw:comment>http://www.blogjava.net/adidas1981/comments/7116.html</wfw:comment><comments>http://www.blogjava.net/adidas1981/articles/7116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/adidas1981/comments/commentRss/7116.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/adidas1981/services/trackbacks/7116.html</trackback:ping><description><![CDATA[<H2 class=diaryTitle align=left><FONT color=#0000ff size=2>55种网页常用小技巧(javascript)</FONT></H2>
<P align=left><FONT color=#0000ff size=2>1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键<BR>&lt;table border oncontextmenu=return(false)&gt;&lt;td&gt;no&lt;/table&gt; 可用于Table<BR>2. &lt;body onselectstart="return false"&gt; 取消选取、防止复制<BR>3. onpaste="return false" 不准粘贴<BR>4. oncopy="return false;" oncut="return false;" 防止复制<BR>5. &lt;link rel="Shortcut Icon" href="favicon.ico"&gt; IE地址栏前换成自己的图标<BR>6. &lt;link rel="Bookmark" href="favicon.ico"&gt; 可以在收藏夹中显示出你的图标<BR>7. &lt;input style="ime-mode:disabled"&gt; 关闭输入法<BR>8. 永远都会带着框架<BR>&lt;script language="JavaScript"&gt;&lt;!--<BR>if (window == top)top.location.href = "frames.htm"; //frames.htm为框架网页<BR>// --&gt;&lt;/script&gt;<BR>9. 防止被人frame<BR>&lt;SCRIPT LANGUAGE=JAVASCRIPT&gt;&lt;!-- <BR>if (top.location != self.location)top.location=self.location;<BR>// --&gt;&lt;/SCRIPT&gt;<BR>10. 网页将不能被另存为<BR>&lt;noscript&gt;&lt;iframe src=*.html&gt;&lt;/iframe&gt;&lt;/noscript&gt; <BR>11. &lt;input type=button value=查看网页源代码 <BR>onclick="window.location = "view-source:"+ "</FONT><A href="http://www.pconline.com.cn/"><FONT color=#0000ff size=2>http://www.pconline.com.cn</FONT></A><FONT color=#0000ff size=2>""&gt;<BR>12.删除时确认<BR>&lt;a href="javascript:if(confirm("确实要删除吗?"))location="boos.asp?&amp;areyou=删除&amp;page=1""&gt;删除&lt;/a&gt; <BR>13. 取得控件的绝对位置<BR>//Javascript<BR>&lt;script language="Javascript"&gt;<BR>function getIE(e){<BR>var t=e.offsetTop;<BR>var l=e.offsetLeft;<BR>while(e=e.offsetParent){<BR>t+=e.offsetTop;<BR>l+=e.offsetLeft;<BR>}<BR>alert("top="+t+"/nleft="+l);<BR>}<BR>&lt;/script&gt;<BR>//VBScript<BR>&lt;script language="VBScript"&gt;&lt;!--<BR>function getIE()<BR>dim t,l,a,b<BR>set a=document.all.img1<BR>t=document.all.img1.offsetTop<BR>l=document.all.img1.offsetLeft<BR>while a.tagName&lt;&gt;"BODY"<BR>set a = a.offsetParent<BR>t=t+a.offsetTop<BR>l=l+a.offsetLeft<BR>wend<BR>msgbox "top="&amp;t&amp;chr(13)&amp;"left="&amp;l,64,"得到控件的位置"<BR>end function<BR>--&gt;&lt;/script&gt;<BR>14. 光标是停在文本框文字的最后<BR>&lt;script language="javascript"&gt;<BR>function cc()<BR>{<BR>var e = event.srcElement;<BR>var r =e.createTextRange();<BR>r.moveStart("character",e.value.length);<BR>r.collapse(true);<BR>r.select();<BR>}<BR>&lt;/script&gt;<BR>&lt;input type=text name=text1 value="123" onfocus="cc()"&gt;<BR>15. 判断上一页的来源<BR>javascript:<BR>document.referrer<BR>16. 最小化、最大化、关闭窗口<BR>&lt;object id=hh1 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"&gt; <BR>&lt;param name="Command" value="Minimize"&gt;&lt;/object&gt;<BR>&lt;object id=hh2 classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11"&gt; <BR>&lt;param name="Command" value="Maximize"&gt;&lt;/object&gt;<BR>&lt;OBJECT id=hh3 classid="clsid:adb880a6-d8ff-11cf-9377-00aa003b7a11"&gt;<BR>&lt;PARAM NAME="Command" VALUE="Close"&gt;&lt;/OBJECT&gt;<BR>&lt;input type=button value=最小化 onclick=hh1.Click()&gt;<BR>&lt;input type=button value=最大化 onclick=hh2.Click()&gt;<BR>&lt;input type=button value=关闭 onclick=hh3.Click()&gt;<BR>本例适用于IE<BR>17.屏蔽功能键Shift,Alt,Ctrl<BR>&lt;script&gt;<BR>function look(){ <BR>if(event.shiftKey) <BR>alert("禁止按Shift键!"); //可以换成ALT　CTRL<BR>} <BR>document.onkeydown=look; <BR>&lt;/script&gt;<BR>18. 网页不会被缓存<BR>&lt;META HTTP-EQUIV="pragma" CONTENT="no-cache"&gt;<BR>&lt;META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"&gt;<BR>&lt;META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT"&gt;<BR>或者&lt;META HTTP-EQUIV="expires" CONTENT="0"&gt;<BR>19.怎样让表单没有凹凸感？<BR>&lt;input type=text style="border:1 solid #000000"&gt; <BR>或<BR>&lt;input type=text style="border-left:none; border-right:none; border-top:none; border-bottom: <BR>1 solid #000000"&gt;&lt;/textarea&gt;<BR>20.&lt;div&gt;&lt;span&gt;&amp;&lt;layer&gt;的区别？ <BR>&lt;div&gt;(division)用来定义大段的页面元素，会产生转行 <BR>&lt;span&gt;用来定义同一行内的元素，跟&lt;div&gt;的唯一区别是不产生转行 <BR>&lt;layer&gt;是ns的标记，ie不支持，相当于&lt;div&gt;<BR>21.让弹出窗口总是在最上面:<BR>&lt;body onblur="this.focus();"&gt;<BR>22.不要滚动条? <BR>让竖条没有: <BR>&lt;body style="overflow:scroll;overflow-y:hidden"&gt; <BR>&lt;/body&gt; <BR>让横条没有: <BR>&lt;body style="overflow:scroll;overflow-x:hidden"&gt; <BR>&lt;/body&gt; <BR>两个都去掉？更简单了 <BR>&lt;body scroll="no"&gt; <BR>&lt;/body&gt; <BR>23.怎样去掉图片链接点击后，图片周围的虚线？<BR>&lt;a href="#" onFocus="this.blur()"&gt;&lt;img src="logo.jpg" border=0&gt;&lt;/a&gt;<BR>24.电子邮件处理提交表单<BR>&lt;form name="form1" method="post" action="</FONT><A href="mailto:****@***.com"><FONT color=#0000ff size=2>mailto:****@***.com</FONT></A><FONT color=#0000ff size=2>" enctype="text/plain"&gt; <BR>&lt;input type=submit&gt;<BR>&lt;/form&gt;<BR>25.在打开的子窗口刷新父窗口的代码里如何写？<BR>window.opener.location.reload()<BR>26.如何设定打开页面的大小<BR>&lt;body onload="top.resizeTo(300,200);"&gt;<BR>打开页面的位置&lt;body onload="top.moveBy(300,200);"&gt;<BR>27.在页面中如何加入不是满铺的背景图片,拉动页面时背景图不动 <BR>&lt;STYLE&gt; <BR>body <BR>{background-image:url(logo.gif); background-repeat:no-repeat; <BR>background-position:center;background-attachment: fixed} <BR>&lt;/STYLE&gt; <BR>28. 检查一段字符串是否全由数字组成<BR>&lt;script language="Javascript"&gt;&lt;!--<BR>function checkNum(str){return str.match(//D/)==null}<BR>alert(checkNum("1232142141"))<BR>alert(checkNum("123214214a1"))<BR>// --&gt;&lt;/script&gt;<BR>29. 获得一个窗口的大小<BR>document.body.clientWidth; document.body.clientHeight<BR>30. 怎么判断是否是字符<BR>if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");<BR>else alert("全是字符");<BR>31.TEXTAREA自适应文字行数的多少<BR>&lt;textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight"&gt;<BR>&lt;/textarea&gt;<BR>32. 日期减去天数等于第二个日期<BR>&lt;script language=Javascript&gt;<BR>function cc(dd,dadd)<BR>{<BR>//可以加上错误处理<BR>var a = new Date(dd)<BR>a = a.valueOf()<BR>a = a - dadd * 24 * 60 * 60 * 1000<BR>a = new Date(a)<BR>alert(a.getFullYear() + "年" + (a.getMonth() + 1) + "月" + a.getDate() + "日")<BR>}<BR>cc("12/23/2002",2)<BR>&lt;/script&gt;<BR>33. 选择了哪一个Radio<BR>&lt;HTML&gt;&lt;script language="vbscript"&gt;<BR>function checkme()<BR>for each ob in radio1<BR>if ob.checked then <BR>window.alert ob.value<BR>next<BR>end function<BR>&lt;/script&gt;&lt;BODY&gt;<BR>&lt;INPUT name="radio1" type="radio" value="style" checked&gt;Style<BR>&lt;INPUT name="radio1" type="radio" value="barcode"&gt;Barcode<BR>&lt;INPUT type="button" value="check" onclick="checkme()"&gt;<BR>&lt;/BODY&gt;&lt;/HTML&gt;<BR>34.脚本永不出错<BR>&lt;SCRIPT LANGUAGE="JavaScript"&gt; <BR>&lt;!-- Hide <BR>function killErrors() { <BR>return true; <BR>} <BR>window.onerror = killErrors; <BR>// --&gt; <BR>&lt;/SCRIPT&gt;<BR>35.ENTER键可以让光标移到下一个输入框<BR>&lt;input onkeydown="if(event.keyCode==13)event.keyCode=9"&gt;<BR>36. 检测某个网站的链接速度：<BR>把如下代码加入&lt;body&gt;区域中:<BR>&lt;script language=Javascript&gt;<BR>tim=1<BR>setInterval("tim++",100)<BR>b=1<BR>var autourl=new Array()<BR>autourl[1]="</FONT><A href="http://www.njcatv.net/"><FONT color=#0000ff size=2>www.njcatv.net</FONT></A><FONT color=#0000ff size=2>"<BR>autourl[2]="javacool.3322.net"<BR>autourl[3]="</FONT><A href="http://www.sina.com.cn/"><FONT color=#0000ff size=2>www.sina.com.cn</FONT></A><FONT color=#0000ff size=2>"<BR>autourl[4]="</FONT><A href="http://www.nuaa.edu.cn/"><FONT color=#0000ff size=2>www.nuaa.edu.cn</FONT></A><FONT color=#0000ff size=2>"<BR>autourl[5]="</FONT><A href="http://www.cctv.com/"><FONT color=#0000ff size=2>www.cctv.com</FONT></A><FONT color=#0000ff size=2>"<BR>function butt(){<BR>document.write("&lt;form name=autof&gt;")<BR>for(var i=1;i&lt;autourl.length;i++)<BR>document.write("&lt;input type=text name=txt"+i+" size=10 value=测试中……&gt; =》&lt;input type=text <BR>name=url"+i+" size=40&gt; =》&lt;input type=button value=GO <BR>onclick=window.open(this.form.url"+i+".value)&gt;&lt;br&gt;")<BR>document.write("&lt;input type=submit value=刷新&gt;&lt;/form&gt;")<BR>}<BR>butt()<BR>function auto(url){<BR>document.forms[0]["url"+b].value=url<BR>if(tim&gt;200)<BR>{document.forms[0]["txt"+b].value="链接超时"}<BR>else<BR>{document.forms[0]["txt"+b].value="时间"+tim/10+"秒"}<BR>b++<BR>}<BR>function run(){for(var i=1;i&lt;autourl.length;i++)document.write("&lt;img src=http://"+autourl+"/"+Math.random()+" width=1 height=1 <BR>onerror=auto("</FONT><A href="http:///" +autourl?><FONT color=#0000ff size=2>http://"+autourl</FONT></A><FONT color=#0000ff size=2>+"")&gt;")}<BR>run()&lt;/script&gt;<BR>37. 各种样式的光标<BR>auto ：标准光标<BR>default ：标准箭头<BR>hand ：手形光标<BR>wait ：等待光标<BR>text ：I形光标<BR>vertical-text ：水平I形光标<BR>no-drop ：不可拖动光标<BR>not-allowed ：无效光标<BR>help ：?帮助光标<BR>all-scroll ：三角方向标<BR>move ：移动标<BR>crosshair ：十字标<BR>e-resize<BR>n-resize<BR>nw-resize<BR>w-resize<BR>s-resize<BR>se-resize<BR>sw-resize<BR>38.页面进入和退出的特效<BR>进入页面&lt;meta http-equiv="Page-Enter" content="revealTrans(duration=x, transition=y)"&gt;<BR>推出页面&lt;meta http-equiv="Page-Exit" content="revealTrans(duration=x, transition=y)"&gt;&nbsp; <BR>这个是页面被载入和调出时的一些特效。duration表示特效的持续时间，以秒为单位。transition表示使用哪种特效，取值为1-23:<BR>　　0 矩形缩小 <BR>　　1 矩形扩大 <BR>　　2 圆形缩小<BR>　　3 圆形扩大 <BR>　　4 下到上刷新 <BR>　　5 上到下刷新<BR>　　6 左到右刷新 <BR>　　7 右到左刷新 <BR>　　8 竖百叶窗<BR>　　9 横百叶窗 <BR>　　10 错位横百叶窗 <BR>　　11 错位竖百叶窗<BR>　　12 点扩散 <BR>　　13 左右到中间刷新 <BR>　　14 中间到左右刷新<BR>　　15 中间到上下<BR>　　16 上下到中间 <BR>　　17 右下到左上<BR>　　18 右上到左下 <BR>　　19 左上到右下 <BR>　　20 左下到右上<BR>　　21 横条 <BR>　　22 竖条 <BR>　　23 以上22种随机选择一种<BR>39.在规定时间内跳转<BR>&lt;META http-equiv=V="REFRESH" content="5;URL=http://www.51js.com"&gt; <BR>40.网页是否被检索<BR>&lt;meta name="ROBOTS" content="属性值"&gt;<BR>　　其中属性值有以下一些:<BR>　　属性值为"all": 文件将被检索，且页上链接可被查询；<BR>　　属性值为"none": 文件不被检索，而且不查询页上的链接；<BR>　　属性值为"index": 文件将被检索；<BR>　　属性值为"follow": 查询页上的链接；<BR>　　属性值为"noindex": 文件不检索，但可被查询链接；<BR>　　属性值为"nofollow": 文件不被检索，但可查询页上的链接。<BR>41、email地址的分割<BR>把如下代码加入&lt;body&gt;区域中<BR>&lt;a href="</FONT><A href="mailto:webmaster@sina.com"><FONT color=#0000ff size=2>webmaster@sina.com</A">mailto:webmaster@sina.com"&gt;webmaster@sina.com&lt;/a</FONT></A><FONT color=#0000ff size=2>&gt;<BR>42、流动边框效果的表格<BR>把如下代码加入&lt;body&gt;区域中<BR>&lt;SCRIPT&gt;<BR>l=Array(6,7,8,9,'a','b','b','c','d','e','f')<BR>Nx=5;Ny=35<BR>t="&lt;table border=0 cellspacing=0 cellpadding=0 height="+((Nx+2)*16)+"&gt;&lt;tr&gt;"<BR>for(x=Nx;x&lt;Nx+Ny;x++)<BR>t+="&lt;td width=16 id=a_mo"+x+"&gt;　&lt;/td&gt;"<BR>t+="&lt;/tr&gt;&lt;tr&gt;&lt;td width=10 id=a_mo"+(Nx-1)+"&gt;　&lt;/td&gt;&lt;td colspan="+(Ny-2)+" rowspan="+(Nx)+"&gt;　&lt;/td&gt;&lt;td width=16 id=a_mo"+(Nx+Ny)+"&gt;&lt;/td&gt;&lt;/tr&gt;"<BR>for(x=2;x&lt;=Nx;x++)<BR>t+="&lt;tr&gt;&lt;td width=16 id=a_mo"+(Nx-x)+"&gt;　&lt;/td&gt;&lt;td width=16 id=a_mo"+(Ny+Nx+x-1)+"&gt;　&lt;/td&gt;&lt;/tr&gt;"<BR>t+="&lt;tr&gt;"<BR>for(x=Ny;x&gt;0;x--)<BR>t+="&lt;td width=16 id=a_mo"+(x+Nx*2+Ny-1)+"&gt;　&lt;/td&gt;"<BR>document.write(t+"&lt;/tr&gt;&lt;/table&gt;")<BR>var N=Nx*2+Ny*2<BR>function f1(y){<BR>for(i=0;i&lt;N;i++){<BR>c=(i+y)%20;if(c&gt;10)c=20-c<BR>document.all["a_mo"+(i)].bgColor="'#0000"+l[c]+l[c]+"'"}<BR>y++<BR>setTimeout('f1('+y+')','1')}<BR>f1(1)<BR>&lt;/SCRIPT&gt;<BR>43、JavaScript主页弹出窗口技巧<BR>窗口中间弹出<BR>&lt;script&gt;<BR>window.open("</FONT><A href="http://www.cctv.com/" ,??,?width='400,height=240,top="+(screen.availHeight-240)/2+",left="+(screen.availWidth-400)/2"'><FONT color=#0000ff size=2>http://www.cctv.com","","width=400,height=240,top="+(screen.availHeight-240)/2+",left="+(screen.availWidth-400)/2</FONT></A><FONT color=#0000ff size=2>);<BR>&lt;/script&gt;<BR>============<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;script language="LiveScript"&gt;<BR>function WinOpen() {<BR>&nbsp;&nbsp; msg=open("","DisplayWindow","toolbar=no,directories=no,menubar=no");<BR>&nbsp;&nbsp; msg.document.write("&lt;HEAD&gt;&lt;TITLE&gt;哈 罗!&lt;/TITLE&gt;&lt;/HEAD&gt;");<BR>&nbsp;&nbsp; msg.document.write("&lt;CENTER&gt;&lt;H1&gt;酷 毙 了!&lt;/H1&gt;&lt;h2&gt;这 是&lt;B&gt;JavaScript&lt;/B&gt;所 开 的 视 窗!&lt;/h2&gt;&lt;/CENTER&gt;");<BR>}<BR>&lt;/script&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;form&gt;<BR>&lt;input type="button" name="Button1" value="Push me" onclick="WinOpen()"&gt;<BR>&lt;/form&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR>==============<BR>一、在下面的代码中，你只要单击打开一个窗口，即可链接到赛迪网。而当你想关闭时，只要单击一下即可关闭刚才打开的窗口。<BR>&nbsp;　　代码如下： <BR>　　&lt;SCRIPT language="JavaScript"&gt; <BR>　　&lt;！-- <BR>　　function openclk() { <BR>　　another=open('http://www.ccidnet.com'，'NewWindow'); <BR>　　} <BR>　　function closeclk() { <BR>　　another.close(); <BR>　　} <BR>　　//--&gt; <BR>　　&lt;/SCRIPT&gt; <BR>　　&lt;FORM&gt; <BR>　　&lt;INPUT TYPE="BUTTON" NAME="open" value="打开一个窗口" onClick="openclk()"&gt; <BR>　　&lt;BR&gt; <BR>　　&lt;INPUT TYPE="BUTTON" NAME="close" value="关闭这个窗口" onClick="closeclk()"&gt; <BR>　　&lt;/FORM&gt; <BR>　　二、上面的代码也太静了，为何不来点动感呢？如果能给页面来个降落效果那该多好啊！ <BR>　　代码如下： <BR>　　&lt;script&gt; <BR>　　function drop(n) { <BR>　　if(self.moveBy){ <BR>　　self.moveBy (0，-900); <BR>　　for(i = n; i &gt; 0; i--){ <BR>　　self.moveBy(0，3); <BR>　　} <BR>　　for(j = 8; j &gt; 0; j--){ <BR>　　self.moveBy(0，j); <BR>　　self.moveBy(j，0); <BR>　　self.moveBy(0，-j); <BR>　　self.moveBy(-j，0); <BR>　　} <BR>　　} <BR>　　} <BR>　　&lt;/script&gt; <BR>　　&lt;body onLoad="drop(300)"&gt; <BR>　　三、讨厌很多网站总是按照默认窗口打开，如果你能随心所欲控制打开的窗口那该多好。 <BR>　　代码如下: <BR>　　&lt;SCRIPT LANGUAGE="JavaScript"&gt; <BR>　　&lt;！-- Begin <BR>　　function popupPage(l， t， w， h) { <BR>　　var windowprops = "location=no，scrollbars=no，menubars=no，toolbars=no，resizable=yes" + <BR>　　"，left=" + l + "，top=" + t + "，width=" + w + "，height=" + h; <BR>　　var URL = "</FONT><A href="http://www.80cn.com/"><FONT color=#0000ff size=2>http://www.80cn.com</FONT></A><FONT color=#0000ff size=2>"; <BR>　　popup = window.open(URL，"MenuPopup"，windowprops); <BR>　　} <BR>　　// End --&gt; <BR>　　&lt;/script&gt; <BR>　　&lt;table&gt; <BR>　　&lt;tr&gt; <BR>　　&lt;td&gt; <BR>　　&lt;form name=popupform&gt; <BR>　　&lt;pre&gt; <BR>　　打开页面的参数&lt;br&gt; <BR>　　离开左边的距离: &lt;input type=text name=left size=2 maxlength=4&gt; pixels <BR>　　离开右边的距离: &lt;input type=text name=top size=2 maxlength=4&gt; pixels <BR>　　窗口的宽度: &lt;input type=text name=width size=2 maxlength=4&gt; pixels <BR>　　窗口的高度: &lt;input type=text name=height size=2 maxlength=4&gt; pixels <BR>　　&lt;/pre&gt; <BR>　　&lt;center&gt; <BR>　　&lt;input type=button value="打开这个窗口！" onClick="popupPage(this.form.left.value， this.form.top.value， this.form.width.value， this.form.height.value)"&gt; <BR>　　&lt;/center&gt; <BR>　　&lt;/form&gt; <BR>　　&lt;/td&gt; <BR>　　&lt;/tr&gt; <BR>　　&lt;/table&gt;你只要在相对应的对话框中输入一个数值即可，将要打开的页面的窗口控制得很好。 <BR>44、页面的打开移动<BR>把如下代码加入&lt;body&gt;区域中<BR>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<BR>&lt;!-- Begin<BR>for (t = 2; t &gt; 0; t--) {<BR>for (x = 20; x &gt; 0; x--) {<BR>for (y = 10; y &gt; 0; y--) {<BR>parent.moveBy(0,-x);<BR>&nbsp; }<BR>}<BR>for (x = 20; x &gt; 0; x--) {<BR>for (y = 10; y &gt; 0; y--) {<BR>parent.moveBy(0,x);<BR>&nbsp; }<BR>}<BR>for (x = 20; x &gt; 0; x--) {<BR>for (y = 10; y &gt; 0; y--) {<BR>parent.moveBy(x,0);<BR>&nbsp; }<BR>}<BR>for (x = 20; x &gt; 0; x--) {<BR>for (y = 10; y &gt; 0; y--) {<BR>parent.moveBy(-x,0);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp; } <BR>}<BR>//--&gt;<BR>//&nbsp; End --&gt;<BR>&lt;/script&gt;<BR>45、显示个人客户端机器的日期和时间<BR>&lt;script language="LiveScript"&gt;<BR>&lt;!-- Hiding<BR>&nbsp; today = new Date()<BR>&nbsp; document.write("现 在 时 间 是： ",today.getHours(),":",today.getMinutes())<BR>&nbsp; document.write("&lt;br&gt;今 天 日 期 为： ", today.getMonth()+1,"/",today.getDate(),"/",today.getYear());<BR>// end hiding contents --&gt;<BR>&lt;/script&gt;<BR>46、自动的为你每次产生最後修改的日期了： <BR>&lt;html&gt;<BR>&lt;body&gt;<BR>This is a simple HTML- page.<BR>&lt;br&gt;<BR>Last changes:<BR>&nbsp; &lt;script language="LiveScript"&gt;<BR>&nbsp; &lt;!--&nbsp; hide script from old browsers<BR>&nbsp;&nbsp;&nbsp; document.write(document.lastModified)<BR>&nbsp; // end hiding contents --&gt;<BR>&nbsp; &lt;/script&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR>47、不能为空和邮件地址的约束：<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;script language="JavaScript"&gt;<BR>&lt;!-- Hide<BR>function test1(form) {<BR>&nbsp; if (form.text1.value == "")<BR>&nbsp;&nbsp;&nbsp; alert("您 没 写 上 任 何 东 西， 请 再 输 入 一 次 !")<BR>&nbsp; else { <BR>&nbsp;&nbsp; alert("嗨 "+form.text1.value+"! 您 已 输 入 完 成 !");<BR>&nbsp; }<BR>}<BR>function test2(form) {<BR>&nbsp; if (form.text2.value == "" || <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; form.text2.value.indexOf(</FONT><A href="mailto:'@'"><FONT color=#0000ff size=2>'@'</FONT></A><FONT color=#0000ff size=2>, 0) == -1) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("这 不 是 正 确 的 e-mail address! 请 再 输 入 一 次 !");<BR>&nbsp; else alert("您 已 输 入 完 成 !");<BR>}<BR>// --&gt;<BR>&lt;/script&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;form name="first"&gt;<BR>Enter your name:&lt;br&gt;<BR>&lt;input type="text" name="text1"&gt;<BR>&lt;input type="button" name="button1" value="输 入 测 试" onClick="test1(this.form)"&gt;<BR>&lt;P&gt;<BR>Enter your e-mail address:&lt;br&gt;<BR>&lt;input type="text" name="text2"&gt;<BR>&lt;input type="button" name="button2" value="输 入 测 试" onClick="test2(this.form)"&gt;<BR>&lt;/body&gt;<BR>48、跑马灯<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;script language="JavaScript"&gt;<BR>&lt;!-- Hide<BR>var scrtxt="怎麽样 ! 很酷吧 ! 您也可以试试."+"Here goes your message the visitors to your page will "+"look at for hours in pure fascination...";<BR>var lentxt=scrtxt.length;<BR>var width=100;<BR>var pos=1-width;<BR>function scroll() {<BR>&nbsp; pos++;<BR>&nbsp; var scroller="";<BR>&nbsp; if (pos==lentxt) {<BR>&nbsp;&nbsp;&nbsp; pos=1-width;<BR>&nbsp; }<BR>&nbsp; if (pos&lt;0) {<BR>&nbsp;&nbsp;&nbsp; for (var i=1; i&lt;=Math.abs(pos); i++) {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scroller=scroller+" ";}<BR>&nbsp;&nbsp;&nbsp; scroller=scroller+scrtxt.substring(0,width-i+1);<BR>&nbsp; }<BR>&nbsp; else {<BR>&nbsp;&nbsp;&nbsp; scroller=scroller+scrtxt.substring(pos,width+pos);<BR>&nbsp; }<BR>&nbsp; window.status = scroller;<BR>&nbsp; setTimeout("scroll()",150);<BR>&nbsp; }<BR>//--&gt;<BR>&lt;/script&gt;<BR>&lt;/head&gt;<BR>&lt;body onLoad="scroll();return true;"&gt;<BR>这里可显示您的网页 !<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR>49、在网页中用按钮来控制前页，后页和主页的显示。<BR>&lt;html&gt;<BR>&lt;body&gt;<BR>&lt;FORM NAME="buttonbar"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;INPUT TYPE="button" VALUE="Back" onClick="history.back()"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;INPUT TYPE="button" VALUE="JS- Home" onClick="location='script.html'"&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp; &lt;INPUT TYPE="button" VALUE="Next" onCLick="history.forward()"&gt;<BR>&lt;/FORM&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR>50、查看某网址的源代码<BR>把如下代码加入&lt;body&gt;区域中<BR>&lt;SCRIPT&gt;<BR>function add()<BR>{<BR>var ress=document.forms[0].luxiaoqing.value<BR>window.location="view-source:"+ress;<BR>}<BR>&lt;/SCRIPT&gt;<BR>输入要查看源代码的URL地址:<BR>&lt;FORM&gt;&lt;input type="text" name="luxiaoqing" size=40 value="</FONT><A href="http:///"></FORM"><FONT color=#0000ff size=2>http://"&gt;&lt;/FORM</FONT></A><FONT color=#0000ff size=2>&gt;<BR>&lt;FORM&gt;&lt;br&gt;<BR>&lt;INPUT type="button" value="查看源代码" onClick=add()&gt;<BR>&lt;/FORM&gt;<BR>51、title显示日期<BR>把如下代码加入&lt;body&gt;区域中:<BR>&lt;script language="JavaScript1.2"&gt;<BR>&lt;!--hide<BR>var isnMonth = new<BR>Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月");<BR>var isnDay = new<BR>Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六","星期日");<BR>today = new Date () ;<BR>Year=today.getYear();<BR>Date=today.getDate();<BR>if (document.all)<BR>document.title="今天是: "+Year+"年"+isnMonth[today.getMonth()]+Date+"日"+isnDay[today.getDay()]<BR>//--hide--&gt;<BR>&lt;/script&gt;<BR>52、显示所有链接<BR>把如下代码加入&lt;body&gt;区域中<BR>&lt;script language="JavaScript1.2"&gt;<BR>&lt;!--<BR>function extractlinks(){<BR>var links=document.all.tags("A")<BR>var total=links.length<BR>var win2=window.open("","","menubar,scrollbars,toolbar")<BR>win2.document.write("&lt;font size='2'&gt;一共有"+total+"个连接&lt;/font&gt;&lt;br&gt;")<BR>for (i=0;i&lt;total;i++){<BR>win2.document.write("&lt;font size='2'&gt;"+links[i].outerHTML+"&lt;/font&gt;&lt;br&gt;")<BR>}<BR>}<BR>//--&gt;<BR>&lt;/script&gt;<BR>&lt;input type="button" onClick="extractlinks()" value="显示所有的连接"&gt;<BR>53、回车键换行<BR>把如下代码加入&lt;body&gt;区域中<BR>&lt;script type="text/javascript"&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>function handleEnter (field, event) {<BR>&nbsp; var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;<BR>&nbsp; if (keyCode == 13) {<BR>&nbsp;&nbsp; var i;<BR>&nbsp;&nbsp; for (i = 0; i &lt; field.form.elements.length; i++)<BR>&nbsp;&nbsp;&nbsp; if (field == field.form.elements[i])<BR>&nbsp;&nbsp;&nbsp;&nbsp; break;<BR>&nbsp;&nbsp; i = (i + 1) % field.form.elements.length;<BR>&nbsp;&nbsp; field.form.elements[i].focus();<BR>&nbsp;&nbsp; return false;<BR>&nbsp; } <BR>&nbsp; else<BR>&nbsp; return true;<BR>&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&lt;/script&gt;<BR>&lt;form&gt;<BR>&lt;input type="text" onkeypress="return handleEnter(this, event)"&gt;&lt;br&gt;<BR>&lt;input type="text" onkeypress="return handleEnter(this, event)"&gt;&lt;br&gt;<BR>&lt;textarea&gt;回车换行<BR>54、确认后提交<BR>把如下代码加入&lt;body&gt;区域中<BR>&lt;SCRIPT LANGUAGE="JavaScript"&gt;<BR>&lt;!--<BR>function msg(){<BR>if (confirm("你确认要提交嘛！"))<BR>document.lnman.submit()<BR>}<BR>//--&gt;<BR>&lt;/SCRIPT&gt;<BR>&lt;form name="lnman" method="post" action=""&gt;<BR>&nbsp; &lt;p&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;input type="text" name="textfield" value="确认后提交"&gt;<BR>&nbsp; &lt;/p&gt;<BR>&nbsp; &lt;p&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;input type="button" name="Submit" value="提交" onclick="msg();"&gt;<BR>&nbsp; &lt;/p&gt;<BR>&lt;/form&gt;<BR>55、改变表格的内容<BR>把如下代码加入&lt;body&gt;区域中<BR>&lt;script language=javascript&gt;<BR>var arr=new Array()<BR>arr[0]="一一一一一";<BR>arr[1]="二二二二二";<BR>arr[2]="三三三三三";<BR>&lt;/script&gt;<BR>&lt;select onchange="zz.cells[this.selectedIndex].innerHTML=arr[this.selectedIndex]"&gt;<BR>&nbsp; &lt;option value=a&gt;改变第一格&lt;/option&gt;<BR>&nbsp; &lt;option value=a&gt;改变第二格&lt;/option&gt;<BR>&nbsp; &lt;option value=a&gt;改变第三格&lt;/option&gt;<BR>&lt;/select&gt;<BR>&lt;table id=zz border=1&gt;<BR>&nbsp; &lt;tr height=20&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;td width=150&gt;第一格&lt;/td&gt;<BR>&nbsp;&lt;td width=150&gt;第二格&lt;/td&gt;<BR>&nbsp;&lt;td width=150&gt;第三格&lt;/td&gt;<BR>&nbsp; &lt;/tr&gt;<BR>&lt;/table&gt;<BR></P></FONT><img src ="http://www.blogjava.net/adidas1981/aggbug/7116.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/adidas1981/" target="_blank">小浩</a> 2005-07-05 09:51 <a href="http://www.blogjava.net/adidas1981/articles/7116.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>