Drupal:以多步形式设置id属性

时间:2010-03-07 22:03:24

标签: forms drupal

我正在Drupal 6中构建一个多步骤表单。出于某种原因,id元素的form属性在第一步表单第一次时有一个额外的“-1”显示。

例如,如果表单名称为“user-registration”,则第一次访问第1步表单时,id为“user-registration-1”。然后,如果我转到步骤2,id是“用户注册”。如果我回到第1步,id仍然是“用户注册”。

我想知道是否有办法让我设置id属性或阻止Drupal添加额外的“-1”。

感谢。

3 个答案:

答案 0 :(得分:4)

您可以自己设置ID。

$form['#attributes'] = array('id' => 'user-registration');

答案 1 :(得分:1)

Drupal 6.x为'#id'和'#attribute'都有一个表单API属性。我遇到了同样的问题,发现'#id'属性是空白的,这表示表单字段中的空白'id'。然后我用'#attribute'=> array('id'=>'id'的名称),它在表单字段中给了我第二个'id'。删除'#attribute'中的id并为'#id'添加另一个表单API属性。

$form['foo'] = array(
  '#type' => 'textfield',
  '#title' => t('Foo'),
  '#required' => FALSE,
  '#id' => 'text-foo',    
);

答案 2 :(得分:0)

这对我有用:

$form = array( '#id' => 'myformid' );