开发者

Drupal: set id attribute in multi-step form

开发者 https://www.devze.com 2022-12-22 08:57 出处:网络
I\'m building a multi-step form in Drupal 6. For some reason, the id attri开发者_Go百科bute of the form element have an extra \"-1\" the first time the step 1 form is displayed.

I'm building a multi-step form in Drupal 6. For some reason, the id attri开发者_Go百科bute of the form element have an extra "-1" the first time the step 1 form is displayed.

For example, if the form name is "user-registration", the first time I access the step 1 form, the id is "user-registration-1". Then, if I go to step 2, the id is "user-registration". If I go back to step 1, the id remains "user-registration".

I'd like to know if there's a way for me to set the id attribute or to prevent Drupal from adding the extra "-1".

Thanks.


You can set the id yourself.

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


Drupal 6.x has a form API property for both '#id' an '#attribute'. I had the same problem and found that the '#id' property was blank, which accounted for the blank 'id' in the form field. Then I used '#attribute' => array('id' => 'name of id'), which gave me a second 'id' in the form field. Remove the id in the '#attribute' and add another form API property for '#id'.

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


This worked for me:

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

精彩评论

暂无评论...
验证码 换一张
取 消