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