Получить Iframe из события отправки в Angular - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь получить событие отправки формы из Iframe в Angular.Кажется, я не могу этого достичь.

ngAfterViewInit() {
    setTimeout(() => {
      const innerDoc = this.iframe.nativeElement.contentDocument || this.iframe.nativeElement.contentWindow.document;
      const form = innerDoc.querySelector('form'); // correctly returns the form
      form.addEventListener('submit', (e) => {
      // it will never reach this part
        e.preventDefault();
        this.toastr.success('Le processus a bien été lancé');
        window.parent.postMessage('close', '*');
      }, false);
    }, 2500);
  }

Тем не менее, он работает с событием щелчка.

ngAfterViewInit() {
    setTimeout(() => {
      const innerDoc = this.iframe.nativeElement.contentDocument || this.iframe.nativeElement.contentWindow.document;
      const button = innerDoc.getElementsByClassName('submit-button'); // correctly returns the button
      button[0].addEventListener('click', () => {
      // it does reach this part when I click into the button
        this.toastr.success('Le processus a bien été lancé');
        window.parent.postMessage('close', '*');
      }, false);
    }, 2500);
  }

Но мне не нравится это решение, поскольку в нем много потоков.Есть идеи, как правильно реализовать отправку addEventListener?Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...