Problem
I have an Article node with layout builder enabled for content author.
I have webform Subscribe newsletter with ajax enabled.
I add webform Subscribe newsletter to the node twice. So there are 2 same webform added to the node.
When I submit the second form, the confirmation message appear in the first webform.
Expected
Confirmation message should appear in second webform.
What I tried
I tried to change the id by using
function MY_MODULE_form_alter(&$form, FormStateInterface $form_state, $form_id) { if (isset($form['#webform_id'])) { $counter = _MY_MODULE_generate_webform_unique_id($form['#webform_id']); if ($counter !== 0) { $new_id = $form_id . '_' . $counter; $form['#form_id'] = $new_id; $form['#attributes']['id'] = $new_id; $form['#form_wrapper_id'] = $form['#form_wrapper_id'] . '--' . $counter; $content_wrapper = $form['#form_wrapper_id'] . '-content--' . $counter; $wrapper_id = $form['#form_wrapper_id'] . '--' . $counter; $prefix = '<span id="'. $content_wrapper .'"></span>' . '<div id="' . $wrapper_id . '" class="webform-ajax-form-wrapper" data-effect="fade" data-progress-type="throbber">'; $form['#prefix'] = $prefix; } } } function _MY_MODULE_generate_webform_unique_id($webform_id) { $static_var = &drupal_static(__FUNCTION__ . ':' . $webform_id); if (!isset($static_var)) { // generate contents of static variable $static_var = 0; } else { $static_var += 1; } return $static_var; }
I can change the form ID, but the confirmation message still display in the first webform.
I saw similar in here https://drupal.stackexchange.com/a/272176/26797 but this is for custom form. Not sure how to apply it with webform.
Is there some mistake that I made or other approach?
Thank in advance.