??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品18毛片一区二区,久久精品99久久,欧美综合一区二区http://www.aygfsteel.com/siliconchip/category/16746.htmlJava技术学?/description>zh-cnTue, 27 Feb 2007 12:37:08 GMTTue, 27 Feb 2007 12:37:08 GMT60[转] XML DOM介绍和例?/title><link>http://www.aygfsteel.com/siliconchip/articles/84087.html</link><dc:creator>Java初心</dc:creator><author>Java初心</author><pubDate>Tue, 28 Nov 2006 08:38:00 GMT</pubDate><guid>http://www.aygfsteel.com/siliconchip/articles/84087.html</guid><wfw:comment>http://www.aygfsteel.com/siliconchip/comments/84087.html</wfw:comment><comments>http://www.aygfsteel.com/siliconchip/articles/84087.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/siliconchip/comments/commentRss/84087.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/siliconchip/services/trackbacks/84087.html</trackback:ping><description><![CDATA[ <p>XML DOM介绍和例?/p> <p>1.文档对象模型QDOMQ?<br />  DOM是HTML和XML文档的编E基Q它定义了处理执行文档的途径。编E者可以用DOM增加文档、定位文档结构、填加修改删除文档元素。W3C 的重要目标是把利用DOM提供一个用于多个q_的编E接口。W3C DOM被设计成适合多个q_Q可使用L~程语言实现的方法?<br />  2.节点接口 <br />  XML parser用来装蝲XML文档到缓存中Q文档装载时Q可以用DOMq行索和处理。DOM采用树Şl构表示XML文档Q文档元素是树的最高阶层,该元素有一个或多个孩子节点用来表示树的分枝?<br />  节点接口E序通常用来d写XML节点树中的个别元素,文档元素的孩子节点属性可以用来构造个别元素节炏VXML parser用来证明Web中的DOM支持遍历节点树的所有函敎ͼq可通过它们讉K节点和及其属性、插入删除节炏V{换节Ҏ到XML中?<br />  所有Microsoft XML parser函数得到W3C XML DOM的正式推荐,除了load?loadXML函数Q正式的DOM不包括标准函数loading XML文档Q。有13个节点类型被Microsoft  XML parser支持Q下面列出常用节点: <br />  节点cd例子 <br />  Document type <!DOCTYPE food SYSTEM "food.dtd">  <br />  Processing instruction <?xml version="1.0"?>  <br />  Element <drink type="beer">Carlsberg</drink>  <br />  Attribute type="beer"  <br />  Text Carlsberg  </p> <p> <br />   <br />3.使用XML parser <br />  Z更加熟练的处理XML文档Q必M用XML parser。Microsoft XML parser是IIS5.0所带的一个COMlgQ一旦安装了IIS5.0Qparser可以利用HTML文档和ASP文g中的脚本?<br />  Microsoft XMLDOM parser支持以下~程模式Q?<br />  ----支持JavaScript, VBScript, Perl, VB, Java, C++ {等 <br />  ----支持W3C XML 1.0 和XML DOM  <br />  ----支持DTD 和validation  <br />  如果使用IE5.0中的JavaScriptQ可以用下面的XML文档对象Q?<br />  var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />  如果使用VBScriptQ可以用下面的XML文档对象Q?<br />  set xmlDoc = CreateObject("Microsoft.XMLDOM") <br />  如果使用ASPQ可以用下面的XML文档对象Q?<br />  set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") </p> <p> <br />4.装蝲一个XML文g到parser?<br />   下面的代码装载存在的XML文档q入XML parser: <br />   <script language="JavaScript"> <br />   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("note.xml") <br />   // ....... processing the document goes here <br />   </script> <br />   W一行脚本增加了一个Microsoft XML parser实例Q第三行装蝲名ؓ”note.xml”的XML文档q入parser中。第二行保证文档装蝲完成以后parserq行下一步工作?<br />  </p> <p>5. parseError对象 <br />   打开XMl文档ӞXML Parser产生错误代码Qƈ存在parseError对象中,包括错误代码、错误文本和错误行号Q等信息?<br />   </p> <p>6.文g错误 <br />   下面的例子将试图装蝲一个不存在的文Ӟ然后产生相应的错误代码: <br />   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("ksdjf.xml") <br />   document.write("<br>Error Code: ") <br />   document.write(xmlDoc.parseError.errorCode) <br />   document.write("<br>Error Reason: ") <br />   document.write(xmlDoc.parseError.reason) <br />   document.write("<br>Error Line: ") <br />   document.write(xmlDoc.parseError.line) <br />   </p> <p>7.XML错误 <br />   下面使用不正的格式装蝲XMl文档Q?<br />   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("note_error.xml") <br />   document.write("<br>Error Code: ") <br />   document.write(xmlDoc.parseError.errorCode) <br />   document.write("<br>Error Reason: ") <br />   document.write(xmlDoc.parseError.reason) <br />   document.write("<br>Error Line: ") <br />   document.write(xmlDoc.parseError.line) <br />   </p> <p>8. parseError属?<br />   属性描qͼ <br />   errorCode q回长整型错误代?<br />   reason q回字符串型错误原因 <br />   line q回长整型错误行?<br />   linePos q回长整型错误行号位|?<br />   srcText q回字符串型产生错误原因 <br />   url q回url装蝲文档指针 <br />   filePos q回长整型错误文件位|?<br />   </p> <p>9.遍历节点?<br />   一U通用的析取XML文档的方法是遍历节点树和它的元素倹{下面是使用VBScript写的遍历节点树的E序代码Q?<br />   set xmlDoc=CreateObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("note.xml") <br />   for each x in xmlDoc.documentElement.childNodes <br />   document.write(x.nodename) <br />   document.write(": ") <br />   document.write(x.text) <br />   next  <br />   </p> <p>10.为XML文g提供HTML格式 <br />   XML的一个优Ҏ把HTML文档和它的数据分d。通过使用览器中的XML parserQHTML面可以被构造成静态文档,通过JavaScript提供动态数据。下面的例子使用JavaScriptdXML文档Q写XML数据成HTML元素Q?<br />   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("note.xml") <br />   nodes = xmlDoc.documentElement.childNodes <br />   to.innerText = nodes.item(0).text <br />   from .innerText = nodes.item(1).text <br />   header.innerText = nodes.item(2).text <br />   body.innerText = nodes.item(3).text <br />   </p> <p>11.通过名称讉KXML元素 <br />   下面的例子用JavaScriptdXML文档Q写XML数据成HTML元素Q?<br />   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("note.xml") <br />   document.write(xmlDoc.getElementsByTagName("from").item(0).text) <br />   </p> <p>12.装蝲UXML文本q入parser  <br />   下面的代码装载文本字W串q入XML parser Q?<br />   <script language="JavaScript"> <br />   var text="<note>" <br />   text=text+"<to>Tove</to><from>Jani</from>" <br />   text=text+"<heading>Reminder</heading>" <br />   text=text+"<body>Don't forget me this weekend!</body>" <br />   text=text+"</note>" <br />   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.loadXML(text) <br />   // ....... processing the document goes here <br />   </script> <br />   </p> <p>13.装蝲XMLq入Parser  <br />   <html> <br />   <body> <br />   <script language="javascript"> <br />   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("note.xml") <br />   document.write("The first XML element in the file contains: ") <br />   document.write(xmlDoc.documentElement.childNodes.item(0).text) <br />   </script> <br />   </body> <br />   </html> <br />   </p> <p>     遍历XML节点树: <br />   <html> <br />   <body> <br />   <script language="VBScript"> <br />   txt="<h1>Traversing the node tree</h1>" <br />   document.write(txt) <br />   set xmlDoc=CreateObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("note.xml") <br />   for each x in xmlDoc.documentElement.childNodes <br />   document.write("<b>" & x.nodename & "</b>") <br />   document.write(": ") <br />   document.write(x.text) <br />   document.write("<br>") <br />   next <br />   </script> <br />   </body> <br />   </html> </p> <p> <br />   装蝲XML q入HTML  <br />   <html> <br />   <head> <br />   <script language="JavaScript" <br />   for="window" event="onload"> <br />   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") <br />   xmlDoc.async="false" <br />   xmlDoc.load("note.xml") <br />   nodes = xmlDoc.documentElement.childNodes <br />   to.innerText = nodes.item(0).text <br />   from.innerText = nodes.item(1).text <br />   header.innerText = nodes.item(2).text <br />   body.innerText = nodes.item(3).text <br />   </script> <br />   <title>HTML using XML data</title> <br />   </head> <br />   <body bgcolor="yellow"> <br />   <h1>Refsnes Data Internal Note</h1> <br />   <b>To: </b><span id="to"></span> <br />   <br> <br />   <b>From: </b><span id="from"></span> <br />   <hr> <br />   <b><span id="header"></span></b> <br />   <hr> <br />   <span id="body"></span> <br />   </body> <br />   </html> </p> <p>Q、DOM树?<br />所有类型的XML解析器都要求处理对象是“格式良好”的XML文档Q有些还能根据DTD或XML Schemaq行有效性验证,DOM QDocument Object ModelQ解析器XML文档一ơ性解析,生成一个位于内存中的对象树用以描述该文档。 ?<br />DOM是一U与q_和语a无关的接口,它允许程序和脚本动态访问和修改文档的内宏V结构和cd。它定义了一pd的对象和Ҏ对DOM树的节点q行各种随机操作Q?</p> <p> <br />?Document对象Q作为树的最高节点,Document对象是对整个文档q行操作的入口。?<br />?Element和Attr对象Q这些节点对象都是文档某一部分的映,节点的定U层ơ恰好反映了文档的结构。?<br />?Text对象Q作为Element和Attr对象的子节点QText对象表达了元素或属性的文本内容。Text节点不再包含M子节炏V?<br />?集合索引QDOM提供了几U集合烦引方式,可以对节Ҏ指定方式q行遍历。烦引参数都是从0开始记数的?/p> <p> <br />DOM树中的所有节炚w是从Node对象l承而来的。Node对象定义了一些最基本的属性和ҎQ利用这些方法可以实现对树的遍历Q同ӞҎ属性还可以得知节点的名U、取值ƈ判断其类型。?<br />利用DOMQ开发h员可以动态地创徏XML、遍历文档、增?删除/修改文档内容。DOM提供的API与编E语a无关Q所以对一些DOM标准中没有明定义的接口Q不同解析器的实现方法也可能有所差别。ؓ方便描述Q本文的举例均采用MSXML DOMҎq用VB Script~写代码。?</p> <p> <br />Q、DOM树的l构  <br />Document对象建立之后Q就可以与XML文档或数据岛联系在一赗数据岛的加载方法是数据岛ID赋给Document对象Q?<br /><XML ID=“dsoDetails?src=“Books.xml?gt;</XML>  <br />Set doc = dsoDetails.XMLDocument  <br />加蝲文档大体上分Z步:  <br />1Q用CreateObjectҎ创徏分析器实例;  <br />2Q设|async属性ؓFalseQ禁止异步加载,q样当文档加载完毕,控制权才会返回给调用q程Q如果想获取文档加蝲状态,可以dreadyState属性|  <br />3Q用loadҎ加蝲指定文档。?<br />Set doc = CreateObject(“Microsoft.XMLDOM?  <br />doc.async = False  <br />doc.load “Books.xml”?<br />XML DOMq提供了一UloadXML的方法可以把XML字符串加载到DOM树中Q用时只要把XML字符串直接作Ҏ的参数即可。?</p> <p> <br />Q、DOM树的讉K  <br />在文档加载完毕之后就可以使用documentElement属性访问根元素Q?<br />Set rootNode = doc.documentElement  <br />一旦徏立了对DOM树中某个节点Q例如根节点Q的引用Q就可以Ҏ节点间的{关系调用适当的方法进行遍历。?<br />下面以books.xmlZ说明各种Ҏ的用:  <br /><xml id=“dsoBooks?gt;  <br /><?xml version=?.0?><br /><booklist></p> <p><book>  <br /><title>The Gourmet Microwave</title>   <br /><price>9.95</price>  <br /><author>Charlotte M. Cooper</author>  <br /><author>Shelley B. Burke</author>  <br /><author>Regina P. Murphy</author>  <br /></book></p> <p><book>  <br /><title>Sushi, Anyone?</title>   <br /><price>14.99</price><br /></book></p> <p><book>  <br /><title>Straight Talk About Computers</title><br /> <price>19.99</price>  <br /><author>Lars Peterson</author>  <br /></book></p> <p></booklist></xml>  <br />建立对第二个<book>元素的引用:  <br />Set theNode =dsoBooks.XMLDocument.documentElement.childNodes(1)  <br />?根节点:theNode.ownerDocumentq回Document节点Q指向XML文档本nQ?<br />?兄弟节点QtheNode.previousSiblingq回W??lt;book>元素QtheNode.nextSiblingq回W??lt;book>元素;  <br />?父节点:theNode.parentNodeq回<booklist>元素;  <br />?子节点:theNode.firstChildq回<title>元素QtheNode.lastChildq回< price>元素QtheNode.childNodesq回子节炚w合,包括Sushi下面的所有元素。节点记C0开始,?theNode.childNodes(0)的结果与theNode.firstChild的结果是一L。?<br />获得节点的引用后Q就可以d节点的相关信息:  <br />?节点cdQtheNode.nodeTypeQ本例ؓ1QDocument对象cd?Q元素类型ؓ1Q属性类型ؓ2Q?<br />?节点名称QtheNode.nodeNameQ本例ؓbookQ?<br />?节点|theNode.nodeValueQ本例ؓnullQ对于Attr节点Q返回的是属性|而对于Element节点Q返回的是null。?<br />在MSXML中,对Node对象q提供了一些额外的Ҏ和属性:  <br />?nodeTypeStringQ用字符串的方式昄节点cdQ如theNode.nodeTypeString的结果是“element”;  <br />?text: 昄当前节点及其所有子节点的文本内?  <br />?xmlQ获取XML文档数据Q通常是从根元素开始的所有内宏V?/p> <p> <br />Q、XML格式的动态{换?<br />通过学习XSLQ我们已l能够用样式单对XML文档q行转换。但q种q程是静态的Q即在编写代码时Q已l指定了作用在XML上的XSL文gQ在E序q行q程中不能再做改变。而利用DOMQ我们能够实现XML格式的动态{换,卛_E序q行ӞXSL载入q对XML文档q行转换。?<br />把XSL载入DOM对象的步骤基本上与XML文档的蝲入过E是一LQXSL本n是XML文档Q:  <br />Set stylesheet = CreateObject(“Microsoft.XMLDOM?  <br />stylesheet.async = False  <br />stylesheet.load “TransformDetails.xsl”?<br />DOM提供了两个函数进行这U{换,作用对象可以是树中Q何节炏V这样就可以实现对DOM树的L的部分进行格式{换。?<br />?transformNodeToObjectҎQ该Ҏ需要两个参敎ͼW一个参数指向XSL文gQ第二个参数存放转换后的XML数据的节炏V例如:  <br />Set targetNode = CreateObject(“Microsoft.XMLDOM?  <br />srcNode.transformNodeToObject stylesheet, targetNode  <br />?transformNodeҎQ该Ҏ只需要一个参数指明XSL文g。如下例是将源节点{换ؓ一个字W串变量strQ?<br />str = srcNode.transformNode(stylesheet)  </p> <p>Q、DOM解析时的错误  <br />DOM在解析XML文档的时候可能会产生各式各样的错误,可以ҎParseError对象中的属性得知出错的可能原因及相关信息。?<br />常用的属性及其含义如下表所C:  <br />属?说明  <br />errorCode 错误代码  <br />filepos 错误在文档中的绝对字W位|?<br />line 错误所在行的行号?<br />linepos 错误所在行的字W位|?<br />reason 错误产生原因  <br />srcText 错误所在行的源代码  <br />url 最q一份含有解析错误的XML文档的URL地址  <br />  <br />  <br />Q、访问DOM树中的元素与属性?<br />DOMq提供了许多查找节点的方法。其中基于搜索机制的Ҏ有:  <br />?Ҏ标签名称搜烦元素Q?<br />?使用XSL模式搜烦节点Q?<br />?利用集合索引搜烦节点。?<br />以books.xmlZQDocument对象中的getElementsByTagNameҎ是Ҏ参数中的标签名称在全文范围内查找元素的,q回值是一个NodeList对象Q?<br />Set doc = dsoDetails.XMLDocument   <br />Set authors = doc.getElementsByTagName(“author?  <br />上述查询l果中包含了文档中出现的全部4位作者。如果调用的是Element对象中的getElementsByTagNameҎQ除了搜索范围羃ؓ该元素的所有后l节点之外,其他的情况都是一L。?<br />所有类型的节点都带有selectNodesҎQ该Ҏ的唯一参数是XSL的模式规则,q回值是匚w该规则的l果集合。调用这个方法可以利用XSL的模式匹配策略查找节炏V例如:  <br />Set rootNode = doc.documentElement   <br />Set cheapbooks = rootNode.selectNodes(?/book[price < 10]?  <br />q个例子q回所有售价低?0元的<book>元素。另外,节点中的selectSingleNodesҎ的用法与selectNodes是一LQ只是返回结果ؓ查找到的满条g的第一个节点而已?</p> <p> <br />对于元素节点Q获取元素标{֐U的Ҏ有两U:anyElement.nodeName和anyElement.tagName。前者是Node对象的属性,后者是Element对象的属性。?<br />如果惌取元素中的文本内容,? <price>9.95  <br /></price>Ӟ讉KElement对象中的nodeValue属性是错误的,q时q回l果是nullQ而不是预期的9.95。含有文本内容的元素都包含一个Textcd的子节点Q所以只有通过Text对象中的nodeValue属性才能真正访问到文本内容。 ?<br />d元素的步骤如下:  <br />?创徏一个Text节点q赋|  <br />?创徏Element节点Q?<br />?把Text节点挂在Element节点下,作ؓ它的子节点;  <br />?把Element节点插入到XML文档的合适位|上。?</p> <p> <br />对于元素节点的删除和替换操作Q首先都要对操作对象q行定位Q然后相应地执行对象节点所属父节点的removeChildҎ和replaceChildҎ卛_。?<br />Attr节点的各U操作在原理上与Element节点相同。Attr对象同样l承了Node对象中的各种Ҏ和属性,q且MSXML中还提供了name属性和value属性,能够更直接地讉K到属性信息。另外,q可以通过属性所属元素的相关Ҏ讉K属性,如通过getAttribute?setAttributeҎd属性值或修改属性|或者用getAttributeNodeҎ直接q回Attr对象。?<br />创徏新属性最直接的办法就是用Element对象中的setAttributeҎ。也可以先用Document对象中的 createAttributeҎ讄属性|然后使用Element对象中的setAttributeNodeҎ把新节点d到DOM树中。同样地Q删除属性最直接的方法是调用Element中的removeAttributeҎ。另外一U方案是先用getAttributeNodeҎҎ作对象进行定位,然后执行removeAttributeNode操作。?<br />从以上的介绍中可以看出,׃节点间的l承关系Q以及各U类型节Ҏw提供的丰富的接口,用户可以很容易地扑ֈ一套适合自己需要的对象操作Ҏ。?<br />   <br />Q、DOM的显C功q?<br />DOM技术还可以用来昄XML数据。XSL样式单面向的是XML文档的{换,用于昄格式的{换是其应用的一个方面,所以在昄功能上还存在着一些不I  <br />?不易完成对XML数据的复杂处理,如将英文字母全部转换为大写,截取指定长度的字W串Q忽略一些特定的标点{;  <br />?不易对XML数据中的数D行计;  <br />?一个XSL通常是静态地作用C个XML文档上,无法多个XML文档中的数据用一个XSL合ƈ转换Z个输出结果。?<br />使用DOMp够很好地解决上述问题<br /> <br /></p> <img src ="http://www.aygfsteel.com/siliconchip/aggbug/84087.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/siliconchip/" target="_blank">Java初心</a> 2006-11-28 16:38 <a href="http://www.aygfsteel.com/siliconchip/articles/84087.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>checkbox全?全不选等相关操作http://www.aygfsteel.com/siliconchip/articles/checkbox.htmlJava初心Java初心Fri, 15 Sep 2006 02:23:00 GMThttp://www.aygfsteel.com/siliconchip/articles/checkbox.htmlhttp://www.aygfsteel.com/siliconchip/comments/69819.htmlhttp://www.aygfsteel.com/siliconchip/articles/checkbox.html#Feedback0http://www.aygfsteel.com/siliconchip/comments/commentRss/69819.htmlhttp://www.aygfsteel.com/siliconchip/services/trackbacks/69819.html 正好目里要用到Q自己写了一下,C来,以后可以用用

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>test checkbox</title>
<script language="javascript">
function checkall()
{
  var objForm = document.ckform;
  var objLen = objForm.length;
  for (var elcount = 0; elcount < objLen; elcount++)
  {
    if (objForm.elements[elcount].type == "checkbox")
    {
      objForm.elements[elcount].checked = true;
    }
  }
}
function clearall()
{
  var objForm = document.ckform;
  var objLen = objForm.length;
  for (var elcount = 0; elcount < objLen; elcount++)
  {
    if (objForm.elements[elcount].type == "checkbox")
    {
      objForm.elements[elcount].checked = false;
    }
  }
}
function checkop(opvalue){
  var objForm = document.ckform;
  var objLen = objForm.length;
  for (var elcount = 0; elcount < objLen; elcount++)
  {
    if (objForm.elements[elcount].type == "checkbox")
    {
     if (objForm.elements[elcount].id.indexOf(opvalue)==0){
        objForm.elements[elcount].checked = true;
      }
      else{
       objForm.elements[elcount].checked = false;
      }
    }
  } 
}

function checkresult(){
  var objForm = document.ckform;
  var objLen = objForm.length;
  var flag=true;
  var checkvalue="";
  for (var elcount = 0; elcount < objLen; elcount++)
  {
    if (objForm.elements[elcount].type == "checkbox")
    {
      if(objForm.elements[elcount].checked ==true){
       flag=false;
       if (checkvalue==""){
        checkvalue=objForm.elements[elcount].value;
       }
       else{
        checkvalue=checkvalue+","+objForm.elements[elcount].value;
       }
      }
    }
  } 
  if (flag==true){
   alert("臛_选择一?);
  }
  alert(checkvalue);
}
</script>
</head>

<body>
<form name="ckform" method="post" action="">
  <table width="100%"  border="1">
    <tr>
      <td><input type="checkbox" id="1011" name="checkbox" value="1"></td>
      <td><input type="checkbox" id="1022" name="checkbox" value="2"></td>
      <td><input type="checkbox" id="1033" name="checkbox" value="3"></td>
    </tr>
    <tr>
      <td><input type="checkbox" id="2011" name="checkbox" value="4"></td>
      <td><input type="checkbox" id="2022" name="checkbox" value="5"></td>
      <td><input type="checkbox" id="2033" name="checkbox" value="6"></td>
    </tr>
    <tr>
      <td><input type="checkbox" id="3011" name="checkbox" value="7"></td>
      <td><input type="checkbox" id="3022" name="checkbox" value="8"></td>
      <td><input type="checkbox" id="3033" name="checkbox" value="9"></td>
    </tr>
    <tr>
      <td><input type="button" name="bu1" id="bu1" value="全? onClick="checkall();"><input type="button" name="bu2" id="bu2" value="全部不? onClick="clearall();"></td>
      <td><input type="button" name="Submit" value="选中一? onClick="checkop('20');"></td>
      <td><input type="button" name="Submit" value="提交" onClick="checkresult();"></td>
    </tr>
  </table>
</form>
</body>
</html>



Java初心 2006-09-15 10:23 发表评论
]]>
վ֩ģ壺 ̨| üɽ| | ʱ| | | | | | | | ɽ| | | | | | | | | Ʊ| | | | | | ʯ| | | | | IJ| | | ˫| | | | ̨| ϰˮ| ʡ|