2013-03-11 11 views
3

Мне нужно отправить запрос на почту в PayPal, но перед отправкой формы мне нужно проверить некоторые входы, и страница PayPal должна быть открыта в новой вкладке или окне (не имеет значения) , Я не могу отправить запрос в том же окне, потому что на главной странице у меня есть фоновые обратные вызовы ajax. Итак, ideea - это я могу отправить запрос в новом окне или вкладке?html form target _blank браузер не разрешен

Во всех крупных броузерах это запрещено, браузер блокирует запрос.

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_blank" id="paypal_form"> 
<input type='hidden' name='some_value' id='some_value' value='151' /> 
</form> 

<div id='button_submit' onClick="verify_paypal_form();">SUBMIT !</div> 

А теперь Аякса часть:

function verify_paypal_form(){ 
    $.post('verify.php', { someValue : 'FOO' }, 
    function(data){ 
     if(data == 'OKAY') $('#paypal_form').submit(); 
    }); 
} 
+0

Вы можете использовать Iframe вместо этого. установите цель формы в iframe с использованием id. –

ответ

1

установить цель формы в IFrame и попробовать его. вы можете показать, что iframe также является содержимым новой вкладки.

<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="myFrame" id="paypal_form"> 
<input type='hidden' name='some_value' id='some_value' value='151' /> 
</form> 

<div id='button_submit' onClick="verify_paypal_form();">SUBMIT !</div> 
<iframe id="myFrame" ...... set other attributes as required....></iframe> 
+0

Я этого не понимаю. Конент iframe? Мне нужно отправить почтовый запрос на paypal в новом окне или вкладке. –

1

Вы могли бы открыть новое окно с JS тоже, а затем использовать раствор this answer:

$("#paypal_form").submit(function() { 
    var newWin = window.open("", "", ""); // SPecify your window attributes here, but no URL 
    // do an XMLHTPPRequest and document.write the result to the new window: 
    var winDoc = doAJAXAndReturnOtherPagesSource(); 
    newWin.document.write(winDoc); 
}); 
Смежные вопросы