ASP表单提交实例2
- 格式:doc
- 大小:225.50 KB
- 文档页数:5
艾恩ASP无组件上传类(上传组件)说明文档2010-1-18 By Anlige一、简介自从接触ASP就开始接触上传,看过一些上传类,但是总感觉封装的还是不够简单,因此自己尝试写一个能够用最少最简单的代码实现各种上传方式的上传类。
在学校期间就开始写,一点点的完善、优化,到现在的版本,现在的版本能适应各种上传方式。
上传类的主要的功能如下:1、自由设置最大上传大小、单文件最大上传大小2、自由设置允许上传的文件类型3、可设置文本的编码,以适应各种上传环境4、内置进度条,a用户可选择开启和关闭5、多种错误状态处理6、多种文件保存方式:原文件名、随机文件名、用户自定义文件名7、自由选择是否覆盖已存在文件8、完整保存表单数据,支持同名表单,不支持同名文件域注意:1、特别注意Form一定要加上enctype="multipart/form-data"属性,method属性值必须是post,否则上传会出错2、request.form()方法获取数据失效,请使用UpLoad.forms()3、上传前请确认保存文件的文件夹有读写权限,若不可写则会出现"文件无法写入"错误,解决方法/show.asp?id=81二、调用方法1、无组件类的调用方法:Dim Uploadset Upload = new AnUpLoad2、组件的调用方法:Dim UploadSet Upload = server.CreateObject("Jo.Upload")注意:上传属性的设置必须在调用Upload.GetData()之前。
简单调用示例:Dim Uploadset Upload=new AnUpLoad'Set Upload = server.CreateObject("Anasp.Anupload") Upload.SingleSize=1024*1024*1024'设置单个文件最大上传限制,按字节计;默认为不限制Upload.MaxSize=1024*1024*1024'设置最大上传限制,按字节计;默认为不限制Upload.Exe="bmp|rar|pdf|jpg|gif"'设置合法扩展名,以|分割Upload.Charset="gb2312"'设置文本编码,默认为gb2312Upload.openProcesser=false'禁止进度条功能,如果启用,需配合客户端程序Upload.GetData()'获取并保存数据,必须调用本方法三、类说明上传涉及2个类-AnUpLoad(关键上传类)和UploadFile(文件类,保存文件相关信息),下面分别说明:1、AnUpLoad(关键上传类)2、UploadFile(文件类(对象),保存文件相关信息)由于本类(对象)为JScript对象,其属性都是可读写的,一些由程序自动处理的属性不建议用户写入。
Form(表单)对于每个WEB开发人员来说,应该是再熟悉不过的东西了,可它却是页面与WEB服务器交互过程中最重要的信息来源。
虽然 WebForms框架为了帮助我们简化开发工作,做了很完美的封装,让我们只需要简单地使用服务端控件就可以直接操作那些HTML表单元素了。
但我认为了解一些基础的东西,可以使我们不必束缚在WebForms框架上,以及遇到一些奇怪问题时,可以更从容地解决它们。
今天,我将和大家来聊聊表单,这个简单又基础的东西。
我将站在HTML和单纯的 框架的角度来解释它们的工作方式,因此,本文不演示WebForms服务器控件的相关内容。
回到顶部简单的表单,简单的处理方式好了,让我们进入今天的主题,看看下面这个简单的HTML表单。
<form action="Handler1.ashx" method="post" ><p>客户名称: <input type="text" name="CustomerName" style="width:300px" /></p><p>客户电话: <input type="text" name="CustomerTel" style="width: 300px" /></p><p><input type="submit" value="提交" /></p></form>在这个HTML表单中,我定义了二个文本输入框,一个提交按钮,表单将提交到Handler1.ashx中处理,且以POST的方式。
注意哦,如果我们想让纯静态页面也能向服务器提交数据,就可以采用这样方式来处理:将action属性指向一个服务器能处理的地址。
目录1、创建 ASP 网页 (2)2、使用脚本语言 (8)3、使用变量和常量 (11)4、与客户端脚本交互操作 (16)5、编写过程 (19)6、使用集合 (22)7、处理用户输入 (29)8、使用组件和对象 (37)9、设置对象作用域 (41)10、将内容发送到浏览器 (45)11、包含文件 (52)12、管理会话 (54)13、访问数据源 (62)14、理解事务 (77)15、调试 ASP 脚本 (82)16、内置 ASP 对象 (86)创建 ASP 网页Active Server Pages (ASP) 文件是带有 .asp 扩展名的文本文件,它由下列内容组合而成:∙文本∙HTML 标记∙服务器端脚本使用 .asp 扩展名重命名现有的 .htm 或 .html 文件可以快速创建 .asp 文件。
如果文件不包含任何 ASP 功能,则服务器不进行 ASP 脚本处理,并很快将文件发送到客户端。
这为 Web 开发人员提供了极大的灵活性,因为即使目前不希望在文件中添加 ASP 功能,也可以使用 .asp 作为扩展名。
要在 Web 上发布 .asp 文件,请将新文件保存到网站上的虚拟目录(确保目录启用了“脚本”或“执行”权限)。
然后,使用浏览器输入文件的 URL 来请求文件。
(请注意,必须处理 ASP 网页,因此您无法通过输入其物理路径请求 .asp 文件)。
在浏览器中加载文件之后,可以发现服务器返回了 HTML 页。
这看起来有些奇怪,但要记住在发送文件之前,服务器将解析并执行所有 ASP 服务器端脚本。
用户将始终接收到标准的 HTML。
可以使用任意文本编辑器创建 .asp 文件。
随着对编辑器的深入使用,您将发现使用具有更多 ASP 支持的编辑器(如 Microsoft Visual InterDev 等)效率更高。
详细信息,请访问Microsoft Visual InterDev 网站。
添加服务器端脚本命令服务器端脚本是一系列指令,用于向 Web 服务器连续发出命令。
ASP图片上传代码-----------------adm_up.asp-----------------代码如下:<!--#include file="conn.asp"--> '数据库连接文件<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>管理</title><style type="text/css"><!--.STYLE1 {color: #000000}body {margin-left: 0px;margin-top: 0px;margin-right: 0px;margin-bottom: 0px;}--></style><script language="javascript">function checknull(){dm=document.formvar filter=/^\s*[a-zA-Z]{1}:(\\).*[\.][jpgJPGifIF]{3}\s*$/;if (!filter.test(dm.file1.value)){alert('请选择您要上传图片,格式只能上传jpg或gif图片!');dm.file1.focus();return false;}return true;}</script></head><body><table width="100%" border="0" align="left" cellpadding="0" cellspacing="0"><tr><td width="100%" height="26" align="left"><%if session("admupiccnt")="" then%><form action="adm_upc.asp" method="post" enctype="multipart/form-data" name="form" id="form" onsubmit="return checknull()"><input type="hidden" name="act" value="upload" /><input name="file1" type="file" class="wenxints_line" size="32"/><input name="submit" type="submit" value="上传图片" /></form><%else%> <input name="Pic" type="text" value="<%=session("admupiccnt")%>" size="38" readonly/> <%end if%></td></tr></table></body></html>-----------------adm_upc.asp-----------------<!--#include file="conn.asp"--> '数据库连接文件<html><head><meta http-equiv=Content-Type content="text/html;charset=gb2312"><title></title></head>< body><div id="admheader"></div><%dim upfile_5xSoft_StreamdimFilePath,FileMaxSize,FileType,fileweb,nameset,pathset,vfname UpFilePath="../upload/" '上传文件目录FileMaxSize=110000 '文件大小100kbFileType=".jpg.gif" '文件类型fileweb=""nameset =1function makefilename(fname)fname = replace(fname,"-","")fname = replace(fname," ","")fname = replace(fname,":","")fname = replace(fname,"PM","")fname = replace(fname,"AM","")fname = replace(fname,"上午","")fname = replace(fname,"下午","")randomize()makefilename=fname&(int(RND()*10000))end functiondimupload,file,formName,iCount,url,UpFilePath,TypeFlag,fname,File NameStrset upload=new upload_classiCount=0for each formName in upload.file ''列出所有上传了的文件set file=upload.file(formName) ''生成一个文件对象if file.FileSize>0 then ''如果 FileSize > 0 说明有文件数据if FileType<>"" then '如果限制了上传文件类型if Instr(FileType,GetExtendName(file.FileName)) thenTypeFlag = 1 '文件为允许的类型elseTypeFlag = 0 '文件为不允许的类型Response.write "不支持您所上传的文件类型:"Response.write GetExtendName(file.FileName)Response.write "<br>"end ifelseTypeFlag = 1 '没有限制上传文件类型end ifif file.FileSize<FileMaxSize then ''如果未超过文件大小限制if TypeFlag = 1 thenvfname = makefilename(now())if nameset = 1 thenfname = vfname & iCount & "." & GetExtendName(file.FileName)elseif nameset =2 thenfname = file.FileNameelseif nameset = 3 thenfname = vfname & iCount & file.FileNameend iffile.SaveAs Server.mappath(UpFilePath&fname) ''保存文件iCount=iCount+1' fileStr = fileStr & "<a href='"& UpFilePath&file.FileName&"' target='_blank'>查看上传的文件:<font color='red'>" & file.FileName &"</font> ("& file.FileSize &" kb)</a><br>"FileNameStr = UpFilePath&fnamesession("admupiccnt")=fnameend ifelseresponse.write "<center>文件大小超出限制,您最多可以上传100kb的文件"exit forend ifend ifset file=nothingnext'----------------------------------------------------------------------------------------------set upload=nothing ''删除此对象if iCount=0 thenresponse.write "<font color=red>错误!</font> <a href='adm_pc.asp'>返回</a>"response.endend ifsub HtmEnd(Msg)set upload=nothingend subfunction GetExtendName(FileName)dim ExtNameExtName = LCase(FileName)ExtName = right(ExtName,3)ExtName = right(ExtName,3-Instr(ExtName,"."))GetExtendName = ExtNameend functionresponse.write"<script>location.href('adm_pc.asp')</script>"Class upload_classdim Form,File,VersionPrivate Sub Class_InitializedimiStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFor mEnd,theFiledimstrDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePat h,iDivLen,mStrif Request.TotalBytes<1 then Exit Subset Form=CreateObject("Scripting.Dictionary")set File=CreateObject("Scripting.Dictionary")set upfile_5xSoft_Stream=CreateObject("Adodb.Stream") upfile_5xSoft_Stream.mode=3upfile_5xSoft_Stream.type=1upfile_5xSoft_Stream.openupfile_5xSoft_Stream.writeRequest.BinaryRead(Request.T otalBytes)vbEnter=Chr(13)&Chr(10)iDivLen=inString(1,vbEnter)+1strDiv=subString(1,iDivLen)iFormStart=iDivLeniFormEnd=inString(iformStart,strDiv)-1while iFormStart < iFormEndiStart=inString(iFormStart,"name=""")iEnd=inString(iStart+6,"""")mFormName=subString(iStart+6,iEnd-iStart-6)iFileNameStart=inString(iEnd+1,"filename=""")if iFileNameStart>0 and iFileNameStart<iFormEnd theniFileNameEnd=inString(iFileNameStart+10,"""")mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)iStart=inString(iFileNameEnd+1,vbEnter&vbEnter) iEnd=inString(iStart+4,vbEnter&strDiv)if iEnd>iStart thenmFileSize=iEnd-iStart-4elsemFileSize=0end ifset theFile=new FileInfotheFile.FileName=getFileName(mFileName) theFile.FilePath=getFilePath(mFileName) theFile.FileSize=mFileSizetheFile.FileStart=iStart+4theFile.FormName=FormNamefile.add mFormName,theFileelseiStart=inString(iEnd+1,vbEnter&vbEnter)iEnd=inString(iStart+4,vbEnter&strDiv)if iEnd>iStart thenmFormValue=subString(iStart+4,iEnd-iStart-4) elsemFormValue=""end ifform.Add mFormName,mFormValueend ifiFormStart=iformEnd+iDivLeniFormEnd=inString(iformStart,strDiv)-1wendEnd SubPrivate Function subString(theStart,theLen)dim i,c,stempupfile_5xSoft_Stream.Position=theStart-1stemp=""for i=1 to theLenif upfile_5xSoft_Stream.EOS then Exit forc=ascB(upfile_5xSoft_Stream.Read(1))If c > 127 Thenif upfile_5xSoft_Stream.EOS then Exit forstemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.R ead(1)))&ChrB(c)))i=i+1elsestemp=stemp&Chr(c)End IfNextsubString=stempEnd functionPrivate Function inString(theStart,varStr)dim i,j,bt,theLen,strInString=0Str=toByte(varStr)theLen=LenB(Str)for i=theStart to upfile_5xSoft_Stream.Size-theLenif i>upfile_5xSoft_Stream.size then exit Functionupfile_5xSoft_Stream.Position=i-1if AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) thenInString=ifor j=2 to theLenif upfile_5xSoft_Stream.EOS theninString=0Exit forend ifif AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1)) thenInString=0Exit Forend ifnextif InString<>0 then Exit Functionend ifnextEnd FunctionPrivate Sub Class_T erminateform.RemoveAllfile.RemoveAllset form=nothingset file=nothingupfile_5xSoft_Stream.closeset upfile_5xSoft_Stream=nothingEnd SubPrivate function GetFilePath(FullPath) '获取文件路径If FullPath <> "" ThenGetFilePath = left(FullPath,InStrRev(FullPath, "\"))ElseGetFilePath = ""End IfEnd functionPrivate function GetFileName(FullPath) '获取文件名If FullPath <> "" ThenGetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)ElseGetFileName = ""End IfEnd functionPrivate function toByte(Str)dim i,iCode,c,iLow,iHightoByte=""For i=1 To Len(Str)c=mid(Str,i,1)iCode =Asc(c)If iCode<0 Then iCode = iCode + 65535If iCode>255 TheniLow = Left(Hex(Asc(c)),2)iHigh =Right(Hex(Asc(c)),2)toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh) ElsetoByte = toByte & chrB(AscB(c))End IfNextEnd functionEnd ClassClass FileInfodim FormName,FileName,FilePath,FileSize,FileStart Private Sub Class_InitializeFileName = ""FilePath = ""FileSize = 0FileStart= 0FormName = ""End SubPublic function SaveAs(FullPath)dim dr,ErrorChar,iSaveAs=1if trim(fullpath)="" or FileSize=0 or FileStart=0 or FileName="" then exit functionif FileStart=0 or right(fullpath,1)="/" then exit functionset dr=CreateObject("Adodb.Stream")dr.Mode=3dr.Type=1dr.Openupfile_5xSoft_Stream.position=FileStart-1upfile_5xSoft_Stream.copyto dr,FileSizedr.SaveToFile FullPath,2dr.Closeset dr=nothingSaveAs=0end functionEnd Class%>另附:页面中嵌入上传页代码<iframe src="adm_pc.asp" frameborder="0" scrolling="No" width="400" height="24"></iframe>。
表单的提交方法表单的提交什么是表单的提交表单的提交是指通过填写表单中的字段数据,将数据发送到服务器进行处理的过程。
在网页中,表单的提交是实现用户与服务器之间交互的重要方法之一。
表单提交的方法1.GET方法GET方法是最常见的表单提交方法之一。
通过GET方法提交的表单数据会附加在URL的后面,以键值对的形式呈现。
例如:GET方法的特点是简单、直观,适用于在URL中传递少量数据。
但是,由于数据会出现在URL中,存在安全风险,且URL长度有限制。
2.POST方法POST方法是另一种常见的表单提交方法。
通过POST方法提交的表单数据不会附加在URL中,而是作为请求的一部分发送到服务器。
例如:POST /submit-form HTTP/Host:Content-Type: application/x-username=John&password=123456POST方法适合提交大量数据,且相对较安全,但相比GET方法稍显复杂。
3.AJAX方法AJAX是一种使用JavaScript和XMLHttpRequest对象实现的表单提交方法。
通过AJAX方法,表单数据可以异步地提交到服务器,页面不需要刷新。
这种方法可以提升用户体验,但对开发者要求较高。
var xhr = new XMLHttpRequest();("POST", "submit-form", true);("Content-Type", "application/json");= function() {if ( === 4 && === 200) {var response = ();// 处理服务器返回的数据}};var formData = {username: "John",password: "123456"};((formData));表单提交的注意事项•分析需求:在进行表单提交前,需要充分了解业务需求,确定需要提交的字段和数据类型。
表单提交的多种⽅法表单提交共有四个⽅法表单提交⽅式⼀:直接利⽤form表单提交html页⾯代码:<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Insert title here</title></head><body><form action="http://localhost:8080/user" method="post">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /> <br><input type="submit" value="登录"></form></body></html>controller页⾯代码:package com.help.demo.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class UserController {@PostMapping("/user")@ResponseBodypublic String add(String username,String password){System.out.println("返回值是》》"+username+"---->"+password);String str = "返回值是"+username+password;return str;}}》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》表单提交⽅式⼆:使⽤ajax提交html页⾯代码:<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Insert title here</title></head><body><!-- --><form method="post" onsubmit="return false" action="##" id="formtest">username:<input type="text" name="username" /><br>password:<input type="password" name="password" /> <br><input type="button" value="登录" onclick="login()"></form><script type="text/javascript" src="/js/jquery.min.js"></script><script type="text/javascript" src="/js/jquery.easyui.min.js"></script><script type="text/javascript" src="/js/extJquery.js"></script><script type="text/javascript" src="/js/extEasyUI.js"></script><script type="text/javascript">function login() {$.ajax({//⼏个参数需要注意⼀下type: "POST",//⽅法类型dataType: "text",//预期服务器返回的数据类型如果是对象返回的是json 如果是字符串这⾥⼀定要定义text 之前我就是定义json 结果字符串的返回⼀直到额error中去/*dataType:要求为String类型的参数,预期服务器返回的数据类型。
Mvc表单提交之List集合⼀、说明 Mvc中Action的参数可以⾃动接收和反序列化form表单的值,2.对于name=value类型,只要Action参数的变量名和input的name相同就⾏,不区分⼤⼩写3.对于Model类型的,只要Action参数Model的字段名和input的name相同就⾏,不区分⼤⼩写4.对于List类型,如下⼆、List 基础数据类型提交Html代码<div class="panel panel-default"><div class="panel-heading"><div class="panel-title"> List 基础数据类型提交</div></div><div class="panel-body"><form action="@Url.Action("TestOne")" method="post"><div class="form-group"><input name="name" value="张三" /></div><div class="form-group"><input name="name" value="李四" /></div><input class="btn btn-success" type="submit" value="提交" /></form></div></div>Action接收public JsonResult TestOne(List<string> name){return Json(name);}参数传递:显⽰结果:三、List<Model>类型提交json数组<div class="panel panel-default"><div class="panel-heading"><div class="panel-title"> List<Model> 数据类型提交(⼀)</div></div><div class="panel-body"><form action="@Url.Action("TestTwo")" method="post"><table><thead><tr><th>ID</th><th>Name</th></tr></thead><tbody><tr><td><input name="ID" value="1" /></td><td><input name="Name" value="张三" /></td></tr><tr><td><input name="ID" value="2" /></td><td><input name="Name" value="李四" /></td></tr></tbody></table><input type="submit" class="btn btn-success" id="submit1" value="提交" /></form></div></div>使⽤Ajax提交$('#submit1').click(function () {var form = $(this).parents('form');var result = [];form.find('tbody tr').each(function () {var thisItem = $(this);result.push({ID: thisItem.find("input:eq(0)").val(),Name: thisItem.find('input:eq(1)').val()})});$.post(form.attr('action'), {stuList: result, //直接提交json数组}, function (data) {alert(data);});return false;});后台action接收处理public JsonResult TestTwo(List<Student> stuList){return Json(stuList);}参数传递:四、List<Model>类型提交之json数组字符串HTML内容同上,整合json数组,以字符串格式传递$('#submit2').click(function () {var form = $(this).parents('form');var result = [];var data = form.serializeArray();for (var i = 0; i < data.length; i++) {var item = data[i];var stu_i = Math.floor(i / 2); //没2(对象的属性个数)个位⼀组,整合到⼀个对象中 if (!result[stu_i])result[stu_i] = {}; //初始化数组中的对象result[stu_i][item['name']] = item['value'];}(result);$.post(form.attr('action'), {stuList: JSON.stringify(result), //提交json字符串,后台⾃⼰反序列化other: 'test'}, function (data) {alert(data);});return false;});action后台参数接收处理public JsonResult TestThree(string stuList, string other = "没有内容"){//⾃⼰反序列化处理,更灵活处理List<Student> list = JsonConvert.DeserializeObject<List<Student>>(stuList);return Json(new { stu = list, other = other });}参数传递:返回结果:特别说明提交的Josn数组整合⽅式1:从页⾯dom中获取//处理⽅式1,从页⾯获取值var result = [];form.find('tbody tr').each(function () {var thisItem = $(this);result.push({ID: thisItem.find("input:eq(0)").val(),Name: thisItem.find('input:eq(1)').val()})});整合⽅式2:从表单的序列化数组中获取var result = [];var data = form.serializeArray();for (var i = 0; i < data.length; i++) {var item = data[i];var stu_i = Math.floor(i / 2); //没2(对象的属性个数)个位⼀组,整合到⼀个对象中 if (!result[stu_i])result[stu_i] = {}; //初始化数组中的对象result[stu_i][item['name']] = item['value'];}(result);。
ASP实验报告实验2第一点:ASP实验2的背景与目的ASP(Active Server Pages)实验是计算机科学和网络编程领域的一项基本技能实验,旨在让学生通过实践掌握ASP技术,进一步了解动态网页的制作和数据库的交互。
实验2则是基于第一实验的基础上,进一步深化学生对于ASP技术的应用,提高学生解决实际问题的能力。
本实验要求学生设计并实现一个简单的ASP应用程序,其主要功能是实现用户注册和登录功能。
通过这个实验,学生需要掌握如何使用ASP技术进行用户信息的收集、处理和存储,以及如何使用SQL语句进行数据库的交互。
实验的背景是假设学生需要为一个简单的社区网站设计用户注册和登录功能。
用户注册时,需要收集用户的基本信息,如用户名、密码、邮箱等,并将这些信息存储到数据库中。
用户登录时,需要验证用户输入的用户名和密码是否与数据库中存储的信息匹配,如果匹配,则允许用户登录。
实验的目的是让学生通过实践,掌握ASP技术的基本使用方法,了解ASP与数据库的交互方式,提高学生解决实际问题的能力。
同时,通过实验,学生也可以加深对于网络安全和数据保护的理解,提高他们在未来工作和学习中处理类似问题的能力。
第二点:ASP实验2的具体内容和步骤本实验的具体内容主要包括以下几个部分:1.设计用户注册和登录界面:学生需要设计一个简洁明了的用户注册和登录界面,包括用户名、密码、确认密码、邮箱等输入框,以及注册和登录按钮。
2.收集用户信息并存储到数据库:学生需要使用ASP技术收集用户在注册界面输入的信息,并将其存储到数据库中。
这里需要使用SQL语句进行数据库的插入操作。
3.验证用户登录信息:学生需要使用ASP技术验证用户在登录界面输入的用户名和密码是否与数据库中存储的信息匹配。
如果匹配,则允许用户登录,否则提示用户登录失败。
4.实现用户注销功能:学生需要实现一个简单的用户注销功能,当用户点击注销按钮时,能够清除用户的登录状态,使用户重新回到登录界面。
实验二:表单提交实例一.实验目的掌握ASP中输入输出对象,即Rquest,Response对象二.实验内容1.简单的登录表单提交2.不同方式获取表单内容3.复杂表单的提交三.实验过程一)实例1:将表单form12的内容提交到form2.asp中。
知识点:Request.form的用法步骤:1、在dreamwaver中做好如下的表单。
文件为form122、查看修改其代码:<form name="form1" method="post" action="form2.asp"><p>请输入</p><p>用户名:<input type="text" name="name1"></p><p>密码:<input type="text" name="password"></p><p> </p><p><input type="submit" name="Submit" value="提交"></p></form>带色部份为要修改的部份以post方式发送的表单。
接收时用request.form,此处接收表单文件名为form2.asp3、建立form2.asp:以下代码放入任何位置都可以,也可以直接在记事本中输入,然后修改其后缀。
<%name12=request.form("name1")'与前面form12中的名字要对应mma=request.form("password")response.write name12&"你好!欢迎你的到来!"%>4、运行在form12中输入刘敏。
密码654321观察运行结果及地址栏的变化二)表单提交实例2:用request.querstring方式获取。
知识点:ruqest.querystring的用法。
(其实无论request.form还是request.querystring都可以用request代替.)实验过程:1、将以上表单form12另存为进行修改form1修改的地方,发送方法为get<form name="form1" method="get" action="form2query.asp">2、form2修改为<%name12=request.querystring("name1")mma=request.querystring("password")response.write name12&"你好!欢迎你的到来!"%>比较两者的区别,并查看浏览器地址栏后者地址栏为出现这么一长串:http://localhost/form2query.asp?name1=%B5%D8%C7%F8%D0%D4%B5%C4%C8%B7%C1% BC&password=123456&Submit=%CC%E1%BD%BB也即你所输入的内容出现在地址栏三)实例3:结果显示同一页1、将上述表单form1另存为formself,将其action清空即<form name="form1" method="get" action=" ">2、将form2的代码复制到form1任何地方<%name12=request.querystring("name1")mma=request.querystring("password")response.write name12&"你好!欢迎你的到来!"%>四)实例4:表单用于计算两者数相加:1、表单1的界面为:<form name="form1" method="post" action="add2.asp"><p>请输入两个数</p><p>第一个数:<input type="text" name="add1"></p><p>第二个数:<input type="text" name="add2"></p><p><input type="submit" name="Submit" value="提交"></p></form>2、表单2<%a=request.form("add1")b=request.form("add2")c=cint(a)+cint(b)response.write "ab之和为"&c%>运行结果一、表单功能用于计算你任意输入两个数的和,并将结果显示在自身表单1、做好界面2、在此表单中修改代码:<form name="form1" method="post" action=""><p>请输入两个数</p><p>第一个数:<input type="text" name="add1"></p><p>第二个数:<input type="text" name="add2"></p><p><input type="submit" name="submit" value="提交"></p></form><%if request.form("add1")<>"" thena=request.form("add1")b=request.form("add2")c=cint(a)+cint(b)response.write "ab之和为"&cend if%>如果将其中的if语名部份去掉请观察结果五)、实例5:复杂一点的表单提交1、test6_7.asp:这是表单界面制作。
制好后需要修改的为带颜色部份,<form name="test" method="post" action="test6_8.asp">姓名<input type="text" name="user_name"><p>性别<input type="radio" name="sex" value="男">男生<input type="radio" name="sex" value="女">女生<p>爱好足球<input type="checkbox" name="love" value="足球">计算机<input type="checkbox" name="love" value="计算机"><p>学校<select name="school"><option></option><option value="北大">北京大学</option><option value="清华">清华大学</option></select><p>备注<TEXTAREA NAME="memo" ROWS="3" COLS="40"></TEXTAREA> <input type="submit" value="提交"></form>2、获取上述表单中填写的内容:test6_8.asp <%dim user_name,sex,love,school,memouser_name=request.form("user_name")sex=request.form("sex")love=request.form("love")school=request.form("school")memo=request.form("memo")response.write "你的个人资料为<p>" response.write user_name & "<p>"response.write sex & "<p>"response.write love & "<p>"response.write school & "<p>"response.write memo & "<p>"%>所有做好的案例都放在站点根目录下查看运行案例实验总结:表单提交,文本框,单选,复选框的输入输出。