URL-адрес iframe запускает внешнюю форму

0

У меня есть внешняя форма оплаты третьей стороны Iframe внутри моей внешней формы. это означает, что сейчас у меня есть кнопки буксировки. один для платежной формы, а другой - для отправки всей формы. как я могу отправить свою внешнюю форму, чтобы отправить все детали, в то время как внутренняя форма оплаты успешно (iframe перенаправляется на другую конкретную страницу).

Кстати, у меня нет доступа к внутренней платежной форме третьего лица html

  • 0
    Это должно быть просто. Мне нужен код, который вызывает кнопку отправки при изменении URL-адреса iframe ....
Теги:
iframe

2 ответа

0

Используйте что-то вроде этого:

<iframe src="inner-form.html" onLoad="checkLocation(this.contentWindow.location);"></iframe>

И в javascript:

function checkLocation(url) {
   if (url !="inner-form.html") {
        // Code for when iframe location url has been changed
   }
}
0

Можете ли вы решить URL-адрес перенаправления после того, как внутренняя форма будет успешно отправлена?

Если можно, попробуйте сделать URL-адрес перенаправления URL-адресом того же домена, что и ваша внешняя форма, и поместите скрипт на целевую страницу:

<script>
  parent.doSubmit(data); // Customize the method name as you want
</script>

Проблема в том, где вы можете получить объект data, это зависит от того, как платежная система третьего лица дает вам результат платежа, в основном это строка запроса url, поэтому вы можете получить такие data:

var data = /payment_result=([^&]+)/.exec(document.location.search)[1];

Обратите внимание, что приведенный выше код является лишь простым примером, все зависит от сторонней платежной системы.

На вашей внешней странице формы вы должны поместить элемент <input type="hidden"> в свою форму, чтобы ваша форма выглядела так:

<form action="..." method="POST">
  <input type="hidden" id="paymentResult" name="paymentResult" />
  ...Other fields
</form>

Затем на странице внешнего вида вы должны иметь метод doSubmit:

function doSubmit(data) {
  document.getElementById('paymentResult').value = data; // Here you should translate the data to a string in order to post it via HTTP
  document.getElementById('myForm').submit();
}

Это грубое средство, вам нужно изменить эти коды, чтобы они соответствовали внутренней внешней форме и внутренней форме - сторонняя система

  • 0
    Спасибо, вы можете объяснить это ясно. Я новичок в JS. Страницей перенаправления может быть любая страница, которую я хочу - без результата оплаты. так что я могу поместить свой код на новую страницу в моем домене, которая будет вызывать кнопку отправки на внешней стороне ... теперь мне просто нужно знать, как это сделать :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню