2012-03-08 64 views
1

我開發在Drupal 7自定義表單模塊,我想換在這樣的標籤,標籤我的表單輸入:Drupal 7表單。你如何將輸入包裝在標籤中?

<div class="form-item form-type-textfield form-item-FirstName"> 
<label for="edit-firstname">First Name 
<span class="form-required" title="This field is required.">*</span> 
<input type="text" id="edit-firstname" name="FirstName" value="" size="25" maxlength="37" class="form-text required" /></label> 
</div> 

標籤關閉標籤是輸入結束後。通常它會在跨度結束標記之後。

我想我需要重寫'includes/form.inc'中的'theme_form_element_label'函數,但我不知道如何去做。

回答

1

我不知道爲什麼你會在表單元素周圍包裝一個表單元素。但要回答您的問題,請使用'#prefix''#suffix'鍵來添加您的標籤。

所以,你的代碼可能類似於此:

$form['first_name'] = array(
    '#type' => 'textfield', 
    '#prefix' => '<label for="edit-firstname">' . t('First Name'), 
    '#suffix' => '</label>', 
    '#required' => TRUE 
); 

如果你正試圖把一個標籤旁邊的一個文本框所有你需要做的就是添加'#title'關鍵是你的文本框元素。所以它可能看起來像這樣:

$form['first_name'] = array(
    '#type' => 'textfield', 
    '#title' => t('First Name'), 
    '#required' => TRUE 
); 
+0

http://stackoverflow.com/questions/774054/should-i-put-input-tag-inside-label-tag會是原因。 – Gidgidonihah 2012-06-19 22:24:01