2013-02-20 57 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

希望它有幫助。

相關問題