html - W3schools 说“formenctype”仅适用于“提交”和“图像”类型,而其他人都说它用于“文件”类型。w3school 错了吗?
问题描述
https://www.w3schools.com/html/html_form_attributes_form.asp
如您所见,他们说“formencstyle”属性仅适用于以下输入类型:“图像”和“提交”,但stackoverflow上的每个人都说,formenctype =“multipart/form-data”是为了使用对于“输入”元素的“文件”类型。那么,为什么 w3schools 然后声称该属性只能用于“提交”和“图像”?他们又过时了吗?
解决方案
你把事情搞混了。
“编码类型”是表单在发送到服务器时的编码方式。这适用于整个表单。它不能应用于单个元素。如果你想使用<input type="file">
元素上传文件,你的表单(作为一个整体)需要使用multipart/form-data
编码提交。
您可以通过使用元素enctype="multipart/form-data"
上的属性或使用提交按钮上的属性来定义该编码类型。<form>
formenctype="multipart/form-data"
当使用提交按钮提交表单时,提交按钮上的formenctype
属性会覆盖元素的属性。enctype
<form>
<form method="POST">
<input type="submit"
value="Clicking me submits the form using the default `application/x-www-form-urlencoded` encoding method">
<input type="submit"
formenctype="multipart/form-data"
value="Clicking me submits the form using the `multipart/form-data` encoding method">
</form>
您不能将 应用于formenctype
文件元素,因为文件元素不是提交按钮,并且编码类型不适用于单个元素。
在这种情况下,W3Schools 没有错。用于提交按钮,formenctype
有两种提交按钮:<input type="image">
和<input type="submit">
。
推荐阅读
- python - 使用 opencv 绘制多个视频时出现此错误。?
- raku - 使用 zef 安装 Twitter 模块时出错
- php - WooCommerce 从 12 开始检查购物车商品数量为 6 的倍数
- python - Sqlalchemy 和多对多关系链接两个表
- python - 在帖子创建期间禁止所有站点用户出现在帖子表单中
- scala - SBT:工件的自动版本控制
- python-3.x - BeautifulSoup:有没有办法设置 find_all() 方法的起点?
- flutter - 为通知中的应用名称文本设置颜色 flutter_local_notifications
- python - 如何根据特定条件用列表值替换 Pandas Dataframes 中的元素?
- c++ - 静态链接 libm 以在多台计算机上获得相同的结果