value是提交时实际发送的数据,placeholder仅为视觉提示且不参与提交;常见错误是混淆二者用途,导致误传提示文案或漏传必要值。
表单元素的
和
本质不同
它们不是“都能填默认文字”的两个可互换选项,而是承担完全不同的职责:
是用户提交时真正发送的数据(哪怕用户没改过),而
只是视觉提示,提交时不会被包含,且用户一聚焦输入框就会消失。
常见错误是把引导性文案(比如“请输入邮箱”)写进
,结果表单一提交就发了“请输入邮箱”过去;或者反过来,想让某个字段带初始值却只写了
,导致后端收不到任何值。
预填充:适用于有确定初始数据的场景
适合服务端渲染页面、编辑已有记录、或前端根据逻辑动态设定默认值。它会参与表单序列化和提交。
在
、
、
中都有效,但语义不同:
的
匹配的是子
的
属性值,不是文本内容
用 JavaScript 动态设置时,应操作
(而非
),否则可能在某些浏览器中不触发表单状态更新
对于
,预填充内容必须写在开始与结束标签之间,不能用
属性:
仅作提示:别指望它传数据
它的唯一作用是降低认知门槛,告诉用户“这里该填什么类型的内容”。它不参与任何数据流,也不影响表单验证逻辑(除非你额外写 JS 判断)。
使用HTML,CSS,JavaScript开发Android应用程序 英文文字pdf版附源文件
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
下载
立即学习
“
前端免费学习笔记(深入)
”;
不支持换行,遇到
会被忽略;若需多行提示,只能用外部
或浮动提示组件
在屏幕阅读器中,
默认不被朗读(WAI-ARIA 规范建议避免依赖它做唯一提示),务必搭配
不要用
替代
——没有
的表单对键盘导航和辅助技术极不友好
两者混用时的典型陷阱
最常出问题的是“用户没输入就提交”,比如注册页邮箱字段同时设了
和
。这时用户没动输入框,提交的就是那句提示语。
如果字段允许为空,又需要提示,就只用
+ 正确的
,
留空
如果字段必须有值,且有合理默认(如用户地区、时区),才用
;此时
可选,但文案要和
区分,例如
对应
用 JavaScript 清空
类似效果时,别误删
——尤其注意事件监听写在
还是
上
真正难的不是怎么写,而是每次加表单字段时,先问自己一句:这个“默认文字”,是用户没改就该发给后端的,还是纯属帮用户看懂的?答案决定了该动
还是
。
valueplaceholdervalueplaceholdervalueplaceholdervaluevaluevaluevalueelement.valuesetAttribute('value', ...)valueplaceholderplaceholder\nplaceholderplaceholderlabellabelvalue="请输入邮箱"placeholder="example@domain.com"placeholdervaluevalueplaceholdervaluevalue="zh-CN"placeholder="选择您的语言"placeholdervalueinputfocusvalueplaceholder