旧浏览器的真正占位符文本修复?

Posted

技术标签:

【中文标题】旧浏览器的真正占位符文本修复?【英文标题】:True placeholder text fix for old browsers? 【发布时间】:2012-02-15 07:45:56 【问题描述】:

我想使用 jQuery 代码来模拟旧浏览器的占位符文本。我找到了一个很好的候选人,并且工作得很好。然而,一个问题是解决方案倾向于输入占位符文本作为单元格值(直到用户输入)。这意味着,如果提交的 html 表单中的任何字段都未更改,则占位符文本会像用户输入一样提交。

有没有 jQuery 占位符解决方案可以解决这个问题?

干杯

【问题讨论】:

【参考方案1】:

我使用 jquery 占位符。你应该尝试一下

https://github.com/prantor19/jquery-placeholder

【讨论】:

【参考方案2】:

就在我的脑海中,this (jsfiddle) 之类的东西呢。

【讨论】:

这可以工作.. 但需要我更改所有表单 - 如果没有占位符支持,我可能会尝试编写一些 jquery 代码来创建这些元素【参考方案3】:

在发送表单之前检查占位符值是否存在并将其删除:

$('form').submit(function()
   if($('#someinput').val() == 'placeholder value') 
     $('#someinput').val('');
   
);

【讨论】:

提交表单后,我似乎无法运行内容。是远程提交的,有问题吗? “远程提交”是什么意思?通过javascript而不是直接由用户? submit 触发器无论如何都应该触发。 实际上,我认为 .submit 是一种用于提交表单的 jquery 方法。我认为提交表单时它不会做出反应.. api.jquery.com/submit 我认为需要一种不同的方法 文档中说:Bind an event handler to the "submit" JavaScript event, OR trigger that event on an element.,注意OR :) 检查您的代码是否在$(document).ready(function() -code here- ); 中,这是很容易忘记的事情。

以上是关于旧浏览器的真正占位符文本修复?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据它是不是是占位符来更改 textarea 文本的颜色?

text 选择2修复以显示完整的占位符文本

在 Prototype 中使用表单验证的 HTML5 表单占位符回退

Android布局中的占位符文本(仅限设计过程)?

Firefox 输入占位符和框大小

IE浏览器中的占位符文本问题(8-9)