после отправки формы кнопку перенаправить на 2 разные страницы - PullRequest
0 голосов
/ 17 мая 2019

У меня есть html-форма, и в этой форме, когда я нажимаю на нее, перенаправление на страницу PayPal, но я хочу, чтобы перед перенаправлением на страницу PayPal, она должна была пойти send.php, а затем страница PayPal

Я пробовал использовать функцию onclick для кнопки отправки, и в этой функции используется функция определения местоположения окна для перенаправления на страницу send.php, но это не рабочая страница, перенаправление только на страницу PayPal

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" enctype="multipart/form-data" >

    <input class="btn btn-primary" type="submit" value="Send" onclick="mymail()">

</form>

код JavaScript

<script>
function mymail() {
 window.location.assign("send.php")
}
</script>

это только перенаправление страницы PayPal без перенаправления на send.php

Ответы [ 4 ]

0 голосов
/ 17 мая 2019

Прежде всего очистите action="" и method="", потому что даже если вы измените свойство кнопки, когда пользователь нажимает кнопку ввода в этой форме, он будет перенаправлен на указанное действие независимо от того, что делает ваш JavaScript.

Во-вторых, измените ваш <input> на <button type="button"> вместо <input type="submit"> и вызовите функцию onclick="mymail()" там, как вы это сделали.

Вот как будет выглядеть ваша форма:

<form enctype="multipart/form-data" >

    <button class="btn btn-primary" type="button" onclick="mymail()">Send</button>

</form>

Убедитесь, что вы прочитали все поля формы и поместили их в данные.

Удачи.

0 голосов
/ 17 мая 2019

Сначала вы должны добавить идентификатор для формы и изменить функцию onclick, как показано ниже

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="Post" enctype="multipart/form-data" id="frm">
    <input type="submit"  value="send" onclick="return mymail()">
</form>

, а теперь используйте вызов ajax в mymail () для send.php, и при успешном завершении ajax отправьте форму через javascript с помощьюИдентификатор формы, как показано ниже

function mymail()
    {
        var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
              document.getElementById("frm").submit()
        }
      };
      xhttp.open("GET", "send.php", true);
      xhttp.send();

        return false;
    }

, теперь при нажатии кнопки «Отправить», страница переходит к send.php через ajax, и в случае успеха форма будет отправлена ​​

0 голосов
/ 17 мая 2019

Кнопка «Отправить» первым событием предназначена для отправки формы в ваше местоположение «action» (paypal), а второе событие «onclick» - для перенаправления в send.php.

Так что, если вы хотите, чтобы он перешел на send.php, сначала выполните действие send.php, сделайте свое дело там, а затем отправьте свои почтовые данные в PayPal. Посмотрите на что-то вроде этого: https://stackoverflow.com/a/32197769/6340057

0 голосов
/ 17 мая 2019

Здесь вы используете тип ввода submit, поэтому, когда он будет нажат, он примет действие отправки формы по умолчанию, которое находится на paypal.com

, здесь также работает ваш щелчок (попробуйте предупредить, что он будетВыполнить) также работает, но проблема в том, что когда щелчок завершает выполнение, он продолжает выполнять действие формы по умолчанию.

, поэтому, если вы хотите перенаправить функцию «нажми на мою почту ()», вам нужно добавить ajaxк функции JavaScript

  <form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post" enctype="multipart/form-data">


function mymail()
    {
    var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("frm").submit()
    }
  };
  xhttp.open("GET", "send.php", true);
  xhttp.send();

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