2013-08-01 71 views
1

我正在使用表单。每个输入字段名称都由其占位符标识。我的表单在Chrome和Mozilla中运行良好,但在IE7和IE8中失败,因为这些浏览器不支持HTML5的占位符属性。HTML5占位符后面的逻辑

我的表格分为4个部分。当用户填写第一部分,并点击保存并继续在数据库上触发一个触发器,并显示表单的第二部分等等

要在IE中实现占位符,我尝试了各种插件,并且还创建了一个我自己的,但一切都失败了,因为占位符值保存在数据库中,如果我将该字段留空。

HTML5占位符在我的Chrome中运行良好。所以如果任何人都可以提供我的HTML5占位符的逻辑,我会写在jquery中以获得在IE中相同的功能。

+1

如果输入值与默认值(占位符)相同,则不要发送它,如果输入的值等于空字符串,则将输入的值设置为占位符1,老实说,你不应该尝试实现不支持的浏览器占位符移植它,只需使用经典标签。 –

+0

Duplicate http://stackoverflow.com/questions/10335610/placeholder-attribute-on-input-tags-for-ie – Akki619

+0

@roasted我选择完全忽略IE,但如果你想支持它,烤的方法是您的最佳解决方案IMO。 – Parrotmaster

回答

0

你可以创建一个jquery函数,当文档被加载时(这应该是你的占位符)初始化某些文本的输入值,然后在存在onclick事件时将该值设置为“”(无)在输入中。希望它有帮助

0

试试这个JSFiddle

_selector是我制作的自定义变量。只需将该行更改为您希望放置此占位符的任何字段的ID即可。你可以在_placeholder的机会中包含你想要的任何占位符文本:)。

我只是改变输入字段的CSS和HTML属性,当用户点击它(或外部)时。

这种技术的一个问题是,当你发布表单时,它会认为这个值已被设置(因为这个值是_placeholder(或者在这个例子中是“Address”)。你最好的办法是检查值等于你在PHP脚本中的占位符,如果是这样,你可以告诉你的脚本使用“”代替变量

0

与@Hamdi一起,你可以试试jQuery。This是一篇很好的文章