在html5里,设置搜索框的默认值最常用的方式就是通过placeholder属性实现,这个属性可以在输入框未输入内容时显示提示文本,引导用户进行输入操作,同时也不会作为输入框的实际值提交到后端。

placeholder基础设置方法
placeholder是html5为input元素新增的原生属性,使用方式非常简单,只需要在input标签中添加placeholder属性,属性值就是想要显示的默认提示文本即可。对于搜索框来说,通常type属性设置为search,也可以设置为text,两者都可以正常使用placeholder。
<!-- 基础搜索框placeholder设置 --> <input type="search" placeholder="请输入搜索关键词" /> <input type="text" placeholder="搜索商品、店铺" />
不同场景下的设置示例
带默认值的搜索框
如果需要搜索框既有提示文本,又有默认填充的实际值,可以同时使用value和placeholder属性,value是输入框的实际值,placeholder是空值时的提示文本。
<!-- 带默认值的搜索框 --> <input type="search" value="默认搜索词" placeholder="请输入搜索关键词" />
多行文本输入框的提示文本
除了input输入框,textarea元素同样支持placeholder属性,设置方式和input一致,适合需要输入较长内容的搜索场景。
<!-- 多行搜索框的placeholder设置 --> <textarea placeholder="请输入详细搜索需求,支持多关键词搜索"></textarea>
placeholder样式自定义
默认的placeholder文本样式是浏览器自带的灰色样式,很多时候需要和项目整体风格保持一致,可以通过伪元素来自定义样式,不同浏览器需要使用对应的前缀。
/* 通用placeholder样式 */
::-webkit-input-placeholder { /* Chrome/Safari/Edge */
color: #999;
font-size: 14px;
}
::-moz-placeholder { /* Firefox 19+ */
color: #999;
font-size: 14px;
opacity: 1;
}
:-ms-input-placeholder { /* IE 10+ */
color: #999;
font-size: 14px;
}
兼容性说明
placeholder是html5新增属性,IE10及以上版本、所有现代浏览器都支持这个属性。如果需要兼容更低版本的IE浏览器,可以通过JavaScript模拟placeholder的效果,核心思路是监听输入框的focus和blur事件,切换提示文本的显示。
// 兼容低版本IE的placeholder模拟实现
function initPlaceholder(input, text) {
// 如果浏览器原生支持placeholder,直接返回
if ('placeholder' in document.createElement('input')) {
return;
}
// 设置初始提示文本
input.value = text;
input.style.color = '#999';
// 获取焦点时清空提示
input.addEventListener('focus', function() {
if (this.value === text) {
this.value = '';
this.style.color = '#333';
}
});
// 失去焦点时恢复提示
input.addEventListener('blur', function() {
if (this.value === '') {
this.value = text;
this.style.color = '#999';
}
});
}
// 使用示例
var searchInput = document.getElementById('searchInput');
initPlaceholder(searchInput, '请输入搜索关键词');
注意事项
- placeholder的内容不会被表单提交,不要把它当作实际的默认值使用,需要默认值请使用value属性。
- placeholder的文本不要过长,尽量简洁明了,符合用户的搜索习惯。
- 不要在placeholder里写必要的输入说明,重要的提示信息建议放在输入框旁边。
html5placeholderinput搜索框默认值修改时间:2026-06-12 20:48:16