2012-06-01 35 views
0

我已經創建了一個自定義表格&那裏有四個元素。 我想保留所有這些元素在一行中。怎麼做 ?Drupal 6:如何在創建自定義表單時將多個表單元素保存在一行中?

我GOOGLE了它,找不到任何相關的..如果有什麼可以由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; 

} 

回答

0

您可以使用表單元素的前綴和後綴屬性,並在一行中顯示。如果它對您有用,請參閱下面的代碼。

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; 
} 
+0

它沒有做任何事情...只是一樣的樣子... – RajeevK

+0

你清除了你的緩存並且看到表單在結構中顯示在表中。 –

+0

這是現在完成.. 謝謝你的幫助:) – RajeevK

0

或者,您可以使用前綴和後綴將整個元素包裝在div中,並將CSS放置在div中。這樣您就可以將結構信息與渲染分開。

另一種選擇是編寫自定義的主題功能,做到這一點。但是,我會選擇前綴後綴解決方案,因爲它在短期內更容易維護。

檢查出this quick tutorial,Theming Forms部分描述您的選項。

相關問題