I have a page with a table of nodes each one with it's own submit button. When pressed the button should call a custom ajax function which creates a cookie with the corresponding orm ID as its value.
My code:
function custom_cart_form_alter(&$form,&$form_state,$form_id){
if ((stristr($form['#form_id'], 'uc_product_add_to_cart_form')) != FALSE){
$form['#submit'][] = 'set_custom_cookie';
}
return $form;
}
function set_custom_cookie($form, &$form_state){
user_cookie_save(array($form['#form_id'] => TRUE));
}
However, when the set_custom_cookie() function is called it receives the last value of $form['#form_id'] and not the ID of the corresponding form.
To clear things up: if I add the following at the end of hook_form_alter() :
function custom_cart_form_alter(&$form,&$form_state,$form_id){
if ((stristr($form['#form_id'], 'uc_product_add_to_cart_form')) != FALSE){
$form['#submit'][] = 'set_custom_cookie';
}
$form['#form_id'] = "test123"; //Added this line to demonstrate the issue
return $form;
}
then function set_custom_cookie() will receive "test123" on call as the value of $form['#form_id'].
How can I make set_custom_cookie() receive the corresponding form ID?
I'm using Drupal 7.