JavaScript функция не работает после отправки формы - PullRequest
0 голосов
/ 29 мая 2020

Я пытался отправить данные формы на https://wallpapersforandroid.com/wallpaper-4/ "на новой вкладке и перенаправить родительскую страницу на« https://www.youtube.com »после отправки. Я успешно открываю страница действия на новой вкладке, но родительская страница не перенаправляет Используемый мной код:

<form action="https://wallpapersforandroid.com/wallpaper-4/" method="post" target="_blank">
Type Password From Below Image: <input name="pass" type="text" />
<input id="myForm" type="submit" /><br />
<script>
  document.getElementById("myForm").onsubmit = function() {
    window.location.href = "https://www.youtube.com";    
  };
</script>

1 Ответ

1 голос
/ 29 мая 2020

Если вы отправляете форму, текущая страница удаляется и заменяется результатом отправки формы. Если вы задаете новое местоположение, текущая страница удаляется и заменяется страницей из этого местоположения. Вы не можете делать и то, и другое одновременно; один из них выиграет, а другой проиграет.

Вы можете отправить форму через ajax, а затем выполнить перенаправление:

document.getElemntById("myForm").addEventListener("submit", function(e) {
    // Prevent the default form submission
    e.preventDefault();

    // Get the form data
    const data = new FormData(this);

    // Do the ajax
    fetch(this.action, {
        method: this.method,
        body: data
    })
    .then(response => {
        if (!response.ok) {
            throw new Error("HTTP error " + response.status);
        }
        window.location.href = "https://www.youtube.com";
    })
    .catch(error => {
        // ...handle/report error...
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...