我使用的是jquery手风琴(v.1.8)。当我使用前缀来创建div时,ID就丢失了,即
$form['container'] = array(
'#prefix' => '<div>',
'#attributes' => array('id' => 'accordion'),
'#suffix' => '</div>'
);
我在DOM中看不到任何id =“accordion” 如果我使用以下方法,请加上:
$form['container'] = array(
'#prefix' => '<div id = "accordion">',
'#value' => t('&nbps;'),
'#suffix' => '</div>'
);
它的工作原理你能告诉我自drural新手以来的原因
答案 0 :(得分:0)
那是因为Drupal正在寻找一些表单元素来添加id但没有找到。例如,如果您将#type
字段集设置为如下所示,则字段集的ID将为“accordian”。
$form['container'] = array(
'#type' => 'fieldset',
'#prefix' => '<div>',
'#attributes' => array('id' => 'accordion'),
'#suffix' => '</div>',
);
上面的代码将输出一个DIV,其中包含id为“accordian”的字段集。从那里你可以在fieldset中添加其他表单元素,如:
$form['container']['fake'] = array(
'#type' => 'textfield',
'#title' => t('My Textfield'),
'#size' => 30,
'#maxlength' => 128,
'#required' => TRUE,
);
有关Drupal表单的更多信息,请参阅Forms API Reference,这是一个非常有价值的源信息。