Chrome中HTML表单value替代placeholder问题及解决咨询
问题解答
一、让所有浏览器统一显示目标提示文本的最简方法
你这段代码里的value="rname"是用来设置输入框的初始预填值,而placeholder是输入框为空时才会显示的提示文本。正常逻辑是:输入框有value时优先显示value的内容,空状态下才显示placeholder。
Chrome的表现是符合HTML标准的,反而其他浏览器的表现存在异常。要让所有浏览器都显示你需要的"NAME........."提示,最简方法就是删掉value="rname"这部分代码,同时注意移除原代码末尾多余的分号;,修改后的代码如下:
<input type="text" id="rname" name="rname" placeholder="NAME.........">
二、value、id、name属性的作用与必要性说明
这三个属性的功能完全独立,不需要内容一致:
- name:这是PHP获取用户输入的核心依据,表单提交后,PHP通过
$_POST['rname'](POST提交场景)或$_GET['rname'](GET提交场景)就能拿到用户输入的内容,这个属性是必须保留的。 - id:仅用于前端场景,比如给输入框加CSS样式、用JavaScript操作这个元素。如果你的页面不需要对该输入框做前端样式或交互操作,完全可以删掉id。
- value:用来设置输入框的初始预填内容,如果你不需要一开始就给输入框填充固定内容,这个属性也可以直接删掉。
所以如果只需要PHP获取用户输入,仅保留name属性即可(type和placeholder可根据需求保留)。
内容的提问来源于stack exchange,提问作者tell
相关产品推荐
相关产品推荐

