正如标题所描述的,我要设置一个 web 表单的样式,为此我需要在 div 中包围特定字段,以便为它们提供 CSS 属性,我不知道我应该如何去做。
我已经用 hook_form_alter 抓住了表格,但不知道之后该怎么做。
有什么帮助吗?
正如标题所描述的,我要设置一个 web 表单的样式,为此我需要在 div 中包围特定字段,以便为它们提供 CSS 属性,我不知道我应该如何去做。
我已经用 hook_form_alter 抓住了表格,但不知道之后该怎么做。
有什么帮助吗?
在您的主题 template.php 文件中,您需要获取表单 ID,然后您可以执行以下操作:
function phptemplate_webform_form_FORM_ID ($form) {
$form['#prefix'] = '<div class="CLASS NAME">';
$form['#suffix'] = '</div>';
return _phptemplate_callback('webform_form_FORM_ID', array('form' => $form));
}
将 FORM_ID 替换为您的表单 ID。
编辑
要将它们添加到特定字段,只需执行(类似)以下操作:
$form['ELEMENT_NAME']['#prefix'] = '<div class="CLASS NAME">';
$form['ELEMENT_NAME']['#suffix'] = '</div>';
我没有时间测试它,但用元素替换 ELEMENT_NAME 应该可以解决你的问题。这里有一个很好的页面 - http://drupal.org/node/79086
您可以使用 #field_prefix 和 #field_suffix 将字段与任何 HTML 元素一起包装。请参见下面的示例:
function auworks_form_alter(&$form, $form_state, $form_id) {
switch($form_id) {
case 'webform_client_form_1':
$form['submitted']['title']['#field_suffix'] = '<span class="field-suffix">#</span>';
break;
}
}
让我知道你怎样去...
另外:如果您想将包含 div 的内容添加到 webform 的提交按钮,这里有一个钩子可以帮助您:
function YOURTHEMENAME_form_alter(&$form, &$form_state, $form_id) {
if ($form['#form_id'] === 'webform_client_form_YOURWEBFORMID') {
$form_structure = &$form['submitted'];
$form['actions']['submit']['#prefix'] = '<div class="extra_div">';
$form['actions']['submit']['#suffix'] = '</div>';
}
}
如果您想将此应用于所有网络表单,您只需将条件保留,如下所示:
function YOURTHEMENAME_form_alter(&$form, &$form_state, $form_id) {
$form_structure = &$form['submitted'];
$form['actions']['submit']['#prefix'] = '<div class="extra_div">';
$form['actions']['submit']['#suffix'] = '</div>';
}