Forms Drupal6:在创建自定义表单时,如何将多个表单元素保持在一行中?

Forms Drupal6:在创建自定义表单时,如何将多个表单元素保持在一行中?,forms,drupal,drupal-6,Forms,Drupal,Drupal 6,我已经创建了一个自定义表单&其中包含四个元素。 我想把所有这些元素保持在一行。怎么做 我在谷歌上搜索了一下,找不到任何相关的东西。如果CSS有什么需要做的,请建议我把DIV放在哪里 我正在粘贴下面的代码- <?php function taskform_form(&$node, $form_state) { $form['date'] = array( '#type' => 'date', '#title' => t('Date'),

我已经创建了一个自定义表单&其中包含四个元素。 我想把所有这些元素保持在一行。怎么做

我在谷歌上搜索了一下,找不到任何相关的东西。如果CSS有什么需要做的,请建议我把DIV放在哪里

我正在粘贴下面的代码-

<?php

function taskform_form(&$node, $form_state)
{


  $form['date'] = array(
    '#type' => 'date', 
    '#title' => t('Date'),        
  );

  $form['edproject'] = array(
    '#type' => 'select', 
    '#title' => t('Project'), 

    '#options' => array(
      1 => 'Konnected', 
      2 => 'eLearning', 
      3 => 'Others',
    ),
    '#description' => t('Choose a project'),
  );

  $form['task'] = array(
    '#type' => 'textfield', 
    '#title' => t('Task'), 
    '#size' => 30,
    '#required' => TRUE,
    '#maxlength' => 30,
    '#description' => t('Enter the task'),
  );

  $form['remarks'] = array(
    '#type' => 'textarea', 
    '#title' => t('Remarks'), 
    '#size' => 30,
    '#cols' => 6,
    '#description' => t('Enter remarks (If any).'),
  );

  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Add Task'),
    '#submit' => array('taskform_form_submit'),
  );
  return $form;

}

可以使用表单元素的prefix和suffix属性,并将其显示在一行中。如果对您有用,请参阅下面的代码

function taskform_form(&$node, $form_state)
{
  $form['date'] = array(
    '#type' => 'date', 
    '#title' => t('Date'),
    '#prefix' => '<table><tr><td>',
    '#suffix' => '</td>',   
  );

  $form['edproject'] = array(
    '#type' => 'select', 
    '#title' => t('Project'), 

    '#options' => array(
      1 => 'Konnected', 
      2 => 'eLearning', 
      3 => 'Others',
    ),
    '#description' => t('Choose a project'),
    '#prefix' => '<td>',
    '#suffix' => '</td>',
  );

  $form['task'] = array(
    '#type' => 'textfield', 
    '#title' => t('Task'), 
    '#size' => 30,
    '#required' => TRUE,
    '#maxlength' => 30,
    '#description' => t('Enter the task'),
    '#prefix' => '<td>',
    '#suffix' => '</td>',
  );

  $form['remarks'] = array(
    '#type' => 'textarea', 
    '#title' => t('Remarks'), 
    '#size' => 30,
    '#cols' => 6,
    '#description' => t('Enter remarks (If any).'),
    '#prefix' => '<td>',
    '#suffix' => '</td></tr></table>',
  );

  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Add Task'),
    '#submit' => array('taskform_form_submit'),
  );

  return $form;
}

或者,您可以使用前缀和后缀将整个元素包装在一个div中,并从CSS中定位div。这样可以将结构信息与渲染分离

另一个选择是编写定制的主题函数来实现这个神奇的效果。但是,我会选择前缀后缀解决方案,因为它在短期内更容易维护


签出,主题表单部分介绍了您的选项。

您是否已清除缓存,并查看表单是否显示在类似表格的结构中。