请教这里所有的朋友:我用xsl嵌入XML文件中,生成了一个表单页面,但为何...
请教这里所有的朋友:我用xsl嵌入XML文件中,生成了一个表单页面,但为何我按提交之后,跳转到另外一些,用
for i=1 to Request.Form.Count
Request.From(i)
next
显示出来的都是乱码。
还有一个问题就是,在遍历的时候到了Request.Form(i)这一项都是没有内容的。。好奇,请高手给我指点一下。
附所有源码:
-----------------------------------------------------------------------
txl.xml
<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet type='text/xsl' href='txl.xsl'?>
<通讯录>
<field id="姓名" orders="1">
<field_value>庄扬</field_value>
</field>
<field id="性别" orders="2">
<field_value>男</field_value>
</field>
<field id="地址" orders="3">
<field_value>福州网龙(中国)公司</field_value>
</field>
<field id="工作单位" orders="4">
<field_value>福州网龙(中国)公司</field_value>
</field>
<field id="电话" orders="5">
<field_value>13003820386</field_value>
</field>
<field id="电子邮件" orders="6">
<field_value>hongdui@sina.com</field_value>
</field>
</通讯录>
------------------------------------------------------------------
------------------------------------------------------------------
txl.xsl
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/通讯录">
<html>
<head>
<title>xsl演示2</title>
</head>
<body>
<form action="optxml.asp?action=update" method="post">
<table border="1" width="300" align="center">
<tr height="23" bgcolor="#efefef">
<td colspan="2" align="center">通讯录</td>
</tr>
<xsl:for-each select="field">
<tr>
<td><xsl:value-of select="@id"></xsl:value-of>:</td>
<td>
<xsl:element name="input">
<xsl:attribute name="input">text</xsl:attribute>
<xsl:attribute name="id">
<xsl:value-of select="@id"></xsl:value-of>
</xsl:attribute>
<xsl:attribute name="name">
<xsl:value-of select="@id"></xsl:value-of>
</xsl:attribute> <xsl:attribute name="value">
<xsl:value-of select="field_value"></xsl:value-of>
</xsl:attribute>
</xsl:element>
<td>
</tr>
</xsl:for-each>
<tr>
<td colspan="2" align="center">
<xsl:element name="input">
<xsl:attribute name="id">btnsave</xsl:attribute>
<xsl:attribute name="type">submit</xsl:attribute>
<xsl:attribute name="value">提 交</xsl:attribute>
<xsl:attribute name="name">btnsave</xsl:attribute>
</xsl:element>
</td>
</tr>
<table>
</form>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
------------------------------------------------------------------
------------------------------------------------------------------
optxml.asp
<%
option explicit
Dim xmlDom
Dim xslDom
Dim xmlRoot
Dim xmlField
Dim strAction
Dim i
'----------更新XML-----------
Sub UpdateXml(strXmlName)
Set xmlDom = Server.CreateObject("Microsoft.xmlDOM")
xmlDom.async = false
xmlDom.load(strXmlName)
If xmlDom.readyState=4 Then
If xmlDom.parseError.errorCode<>0 Then
Response.Write xmlDom.parseError.reason
Else
Set xmlRoot = xmlDom.documentElement
For i= 1 To Request.Form.Count
If inStr(1,Request.Form.Key(i),"btn")=0 Then
Set xmlField = xmlRoot.selectSingleNode("/field[@id='" & Request.Form.Key(i) & "']/field_value")
xmlField.Text = ""&Request.Form(i)&""
End If
Next
xmlDom.save strXmlName
Set xmlRoot = nothing
Set xmlField = nothing
End If
End If
Set xmlDom = nothing
End Sub
%>
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; chaRset=gb2312-80">
<META content="text/html; chaRset=gb2312-80" http-equiv=Content-Type>
<!--<link href = "style.css" rel = "stylesheet" type = "text/css">-->
<title>XML操作</title>
</head>
<body>
<%
strAction = Request("action")
Select Case strAction
Case "" Call ViewXml(txl.xml,updatetxl.xsl)
Case "update" Call UpdateXml(Server.MapPath("txl.xml"))
End Select
%>
</body>
</html>
------------------------------------------------------------------