[development] Changing button #name?

Adam Gregory arcaneadam at gmail.com
Wed Jun 23 15:37:08 UTC 2010


Actually all buttons in a Drupal form have the name "op" so that you can
easily determine which button was pressed in the submit function. i.e. if
($op = 'blah) or switch ($op).

If you are using the Drupal Ahah framework for this then your submit
function should handle it. But since all your buttons are titled Remove,
what you can do is use $form_state['clicked_button']['#id'] to determine
which button was clicked in your submit function. As #id is built of the
array key you give the element in the $form variable.

-----
Adam A. Gregory
Drupal Developer & Consultant
Web: AdamAGregory.com
Twitter: twitter.com/adamgregory
Phone: 910.808.1717
Cell: 919.306.6138


On Wed, Jun 23, 2010 at 11:15 AM, Ken Winters <kwinters at coalmarch.com>wrote:

> Does it have to be a giant form? Using anchor tags and then a confirm form
> is fairly common.
>
> Objects in a form do need to have unique names / IDs.
>
> - Ken Winters
>
>
> On Jun 23, 2010, at 10:36 AM, Richard Morse wrote:
>
>  Hi! I'm trying to build an AHAH form which allows users to add and remove
>> steps.
>>
>> I'm building a table like:
>>
>>  Id       Note
>>> ----------------------------------------------
>>> 1       [This is a step       ]      <remove>
>>> 2       [This is another step ]      <remove>
>>> 3       [Make me an offer!    ]      <remove>
>>>
>>> <add step>
>>>
>>
>> In order to be able to determine which remove button was pressed, I'm
>> creating them like:
>>
>>  array(
>>   '#type'  => 'button',
>>   '#name'  => 'remove_btn_' . $row_id,
>>   '#value' => 'remove',
>>   '#ahah'  => ...
>>  )
>>
>> I'm doing this because otherwise the form state shows the clicked_button
>> always as the last of the remove buttons created.
>>
>> According to the forms_api_reference on api.drupal.org, in the section
>> for '#name',
>>
>>  All button and submit elements on a form should have the same name
>>>
>>
>> Am I breaking something by setting the name for each button separately? If
>> so, how am I supposed to distinguish between the various remove buttons?
>>
>> Thanks,
>> Ricky
>>
>>
>> The information in this e-mail is intended only for the person to whom it
>> is
>> addressed. If you believe this e-mail was sent to you in error and the
>> e-mail
>> contains patient information, please contact the Partners Compliance
>> HelpLine at
>> http://www.partners.org/complianceline . If the e-mail was sent to you in
>> error
>> but does not contain patient information, please contact the sender and
>> properly
>> dispose of the e-mail.
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.drupal.org/pipermail/development/attachments/20100623/59cc075f/attachment.html 


More information about the development mailing list