【问题标题】:Drupal 7 forms. How do you wrap an input in a label?Drupal 7 表格。如何将输入包装在标签中?
【发布时间】:2012-03-08 21:25:46
【问题描述】:

我正在 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”函数,但我不知道该怎么做。

【问题讨论】:

    标签: forms api drupal drupal-7


    【解决方案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
    );
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 1970-01-01
    • 2020-05-31
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    • 2020-06-13
    相关资源
    最近更新 更多