2013-02-20 65 views
0

我想知道,有没有人知道如何添加ghosted(浅灰色)文本到Drupal网络表单文本区域来给出说明?一旦用户在文本区域输入内容,幻影文本应该消失。如何添加幻影文本到Drupal webform文本区域?

+0

你的编程是你自己的领域吗?你只是想在Drupal中创建一个表单,并在字段模块中有选项吗?这个模块可以帮助你,如果你自己编程:http://drupal.org/project/placeholder – 2013-02-20 22:41:59

回答

0

非常简单,不需要安装任何模块,使用JavaScript占位

<script language="javascript" type="text/javascript"> 

function placeholder() 
{ 
var input = document.getElementById ("edit-message"); 
input.placeholder = "Add Your Text Here"; 

} 
</script> 

替换“编辑消息”粘贴在头一节代码page.tpl与文本区域ID (用火的bug)

添加此的onload = “JavaScript的:占位符();”在body标签

<body onload="javascript:placeholder();" class="<?php print $body_classes; ?>"> 
使用占位

最简单的方法,希望它帮助!

+0

它[推荐](https://developer.mozilla.org/en-US/docs/DOM/event#HTML_attribute )以避免在HTML中使用事件处理程序,而是将事件附加到元素。另外,为什么在所有需要的时候使用JS来完成所有这些代码是一个简单的属性添加到textarea标记?无论如何你最终还是使用JS,占位符属性的意义何在? – 2013-02-21 07:16:47

0

你要找的是由HTML5“占位”的属性,在现代浏览器输入字段来实现解决该问题:火狐4+,歌剧11+,Safari浏览器4+,铬4+ ......只有在IE10 + :(

所以恕我直言,你有2种方式输入字段来实现“占位符的功能”:

1)快速&肮脏的方法:使用JavaScript事件处理程序。通过这种方式,如果启用了JS,则可以同时支持旧版和现代浏览器。

2)右&向上和未来的解决方案:使用HTML5“占位符”属性。

正如你可能已经猜到,第二个方法是很难实现的,因为占位符属性本身并不在Drupal 7形式的支持。为了让Drupal的渲染与占位符=“提示...”属性字段:

a)如果你使用网络表单模块v.7.x-3.x或7.x版,4.x中建立表单,只适用于它发表在这个线程补丁:http://drupal.org/node/1305826,和/或...

b)预先处理的形式标记在你的主题的template.php文件中,如描述:http://nathanbuskirk.com/drupal7-placeholder-text-and-html5-forms

在这两种情况下,支持IE6-9等老浏览器需要您另外使用一些pollyfill JS库,像Placeholder.js(https://github.com/jamesallardice/Placeholders.js)或JQuery的”简单Placeholder.js(https://github.com/marcgg/Simple-Placeholder

希望它有帮助。