您的位置:首页 > Web前端 > HTML

HTML表单的enctype属性详解

2008-11-01 11:23 369 查看
用Enctype 属性指定将数据回发到服务器时浏览器使用的编码类型。

下边是说明:

application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。

multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。

text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。

用于表单里有图片上传。

<form name="userInfo" method="post" action="first_submit.jsp" ENCTYPE="multipart/form-data">

表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。

如下:

<tr>

<td height="30" align="right">上传企业营业执照图片:</td>

<td><INPUT TYPE="FILE" NAME="uploadfile" SIZE="34" ōnChange="checkimage()"></td>

</tr>

就得加ENCTYPE="multipart/form-data"。

表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是 application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.

enctype=\"multipart/form-data\"是上传二进制数据; form里面的input的值以2进制的方式传过去。

form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,

取表单值加入数据库时,用到下面的:
SmartUpload su = new SmartUpload();//新建一个SmartUpload对象
su.getRequest().getParameterValues();取数组值
su.getRequest().getParameter( );取单个参数单个值

当值很多时,使用数组传值是个不错的选择。

<input type='text' name='formVar[year1]' value=''>

function toHere($formVar)

{

echo $formVar['year1'];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: