Formulaire ajax evenement sur le mauvais form

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjours !

Je travail depuis quelque mois sur une Marketplace et je rencontre un soucis vraiment étrange. surement du a un des mystère de drupal .
c'est un formulaire d'ajout en newsletter vers emarsys.
J'ai converti un formulaire classique drupal en formulaire ajax afin d'obtenir une notification et évité des problèmes de cache ..

cela fonctionne correctement quand il y a qu'un seul formulaire sur la page. par contre quand plus sont present comme sur /login c'est le premier formulaire. en occurrence celui de l'authentication qui est écouté par js et essai de faire une requête ajax.
alors que seul mon formulaire newsletter en footer devrais être écouté pour l'envoi ajax.
voici le code :

function _alaska_emarsys_newsletter_form_email_input(&$form) {
  $form = array();
  $form['UID'] = array(
    '#type' => 'hidden',
    '#value' => "",
  );
  return $form;
}

function alaska_footer_newsletter_form($form, &$form_state) {
  $form = array();
  _alaska_emarsys_newsletter_form_email_input($form);
  $form['inp_3'] = array(
    '#type' => 'textfield',
    '#attributes' => array(
      'placeholder' => t('Your email'),
      'id' => 'inp_3_footer',
    ),
    '#required' => TRUE,
  );
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Sign up'),
    //'#path' => url('https://suite11.emarsys.net/u/register.php', array('external' => true)),
    '#ajax' => array(
      'callback' => 'alaska_footer_newsletter_callback_ajax',
      'wrapper' => 'alaska-footer-newsletter-form',
      'method' => 'replace',
    ),
  );
  $form['#attributes']['class'][] = 'mini-form';

  return $form;
}

/
* Implements hook_form_validate().
*/
function alaska_footer_newsletter_form_validate($form, &$form_state) {
  if (!valid_email_address($form_state['values']['inp_3'])) {
    form_set_error('email', t('Your email address is not valid.'));
  }
}
function alaska_footer_newsletter_form_submit($form, &$form_state) {
  alaska_emarsys_send_dataform_newsletter($form);
}
/

* Implements form_callback().
*/
function alaska_footer_newsletter_callback_ajax(&$form, $form_state) {
  $commands = array();
  $selector = '#inp_3_footer';
  $str['start']= '<input placeholder="';
  $str['end'] = '" type="text" id="inp_3_footer" name="inp_3" value="" size="60" maxlength="128" class="form-text required valid">';

  $response = alaska_emarsys_send_dataform_newsletter($form, $form_state);
  switch ($response->code) {
    case '200':
      $commands[] = ajax_command_replace($selector, $str['start'] . t('your email is added') . $str['end']);
      break;
    case '400':
      $commands[] = ajax_command_replace($selector, $str['start'] . t('error : contact PDB') . $str['end']);
      break;
    case '503':
      $commands[] = ajax_command_replace($selector, $str['start'] . t('service down') . $str['end']);
      break;
  }
  return array('#type' => 'ajax', '#commands' => $commands);
}

merci je ne sais vraiment plus ou regarder pour ce problem...