2012-03-08 9 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

関連する問題