form标签 enctype 属性

本文详细介绍了HTML表单中enctype属性的三种设置方式:application/x-www-form-urlencoded、multipart/form-data及text/plain,并通过实测对比了不同设置下表单数据的编码差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

enctype属性指定了表单数据向服务器提交时所采用的编码类型,默认的缺省值是“application/x-www-form-urlencoded”。

application/x-www-form-urlencoded 在发送前编码所有字符(默认) 空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值。
multipart/form-data 不对字符编码。 在使用包含文件上传控件的表单时,必须使用该值
text/plain 空格转换为 “+” 加号,但不对特殊字符编码。
来源w3csvhool

第二个属性设置表单的MIME编码在上传文件时,必须使用。
其中对于第一个和第三个属性的特殊符号是否编码存在疑问,本人测试了一些特殊符号如!@#¥%^都会转成hex编码。目前我的理解是第一个属性和第三个属性没有差别。如果我的理解是错的,烦请留言告知,不胜感激。
测试数据: ~!@#$%^&*()_+
输出结果:+~%21%40%23%24%25%5E%26*%28%29_%2B
注:输入数据第一个字符是空格。
代码如下:

<html>
<body>
<form action="" method="get" enctype="text/plain">
  First name: <input type="text" name="fname" /><br />
  <input type="submit" value="Submit" />
</form>
</body>
</html>

测试数据同上一组
输出结果:+~%21%40%23%24%25%5E%26*%28%29_%2B
代码如下:

<html>
<body>
<form action="" method="get" enctype="application/x-www-form-urlencoded">
  First name: <input type="text" name="fname" /><br />
  <input type="submit" value="Submit" />
</form>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值