Hi, When the browser posts the form back to the web server it only sends the value of the form elements against their respective names. That is, the following input <input type="sometype" value="value" id="some-id" name="some-name" /> would be posted back to the server as some-name = value. Since buttons are also posted back in the same way there is not way for Drupal know which button was pressed if they share the same name and value. Regards Steven Jones ComputerMinds ltd - Perfect Drupal Websites Phone : 024 7666 7277 Mobile : 07702 131 576 Twitter : darthsteven http://www.computerminds.co.uk 2009/10/6 nitin gupta <nitingupta.iitg@gmail.com>:
Hello, I am having two form submit buttons on a single page, somethings like this: $form['submit1'] = array( '#type' => 'submit', '#value' => t('save'), '#submit' => array('test_submit1'),
);
[some more for elements in between] $form['submit2'] = array( '#type' => 'submit', '#value' => t('Save'), '#submit' => array('test_submit2'),
);
Now, whether I click on any of them, the submit callback of second button is called always. But if I change the value of second button or give them different '#name', everything gets back in place. They call their submit functions respectively. I did not expect such a behavior given this: http://drupal.org/node/144132#buttons Although, they both have same #value but will have different ids in the form, so Drupal has every reason to differentiate between them (or not??). Why is such thing happening? Am I missing something? -- Regards, Nitin Kumar Gupta http://publicmind.in/blog/