#javascript #jquery #ajax #magento #jquery-events
#javascript #jquery #ajax #magento #jquery-события
Вопрос:
У меня есть вопрос о событии запуска в успешном ajax.
Мне нужно вызвать щелчок по <a>
тегу после вызова AJAX [success: function(res){}]
, но по какой-то причине он не хочет работать.
<script type="text/javascript">
$j = jQuery.noConflict();
function popUpPaypal(){
$j.ajax({
url: '<?= Mage::getBaseUrl()?>xpayment/index',
type: 'POST',
data: {},
success: function(res){
$j('#payPalRedirect').attr('href','https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey=' res 'amp;expType=mini');
//the link are change but i want call click event of $j("payPalRedirect");
}
});
}
</script>
Комментарии:
1. Чего вы пытаетесь достичь? Вы хотите перенаправить пользователя на новую страницу? Поскольку имитация событий щелчка по ссылкам не перенаправляет пользователя, это не было бы решением вашей проблемы.
2. нет, $ j («#payPalRedirect») вызывает всплывающее окно, когда я нажимаю на это, чувак: D
Ответ №1:
Использовали ли вы событие запуска для этого случая.
$j = jQuery.noConflict();
function popUpPaypal(){
$j.ajax({<br/>
url: '<?= Mage::getBaseUrl()?>xpayment/index',
type: 'POST',
data: {},
success: function(res){
$j('#payPalRedirect').attr('href','https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey=' res 'amp;expType=mini');
**$('#payPalRedirect').trigger('click');**
}
});
}
Ответ №2:
Вы только что изменили URL тега привязки, вы также должны активировать его щелчок
Смотрите триггер
<script type="text/javascript">
$j = jQuery.noConflict();
function popUpPaypal(){
$j.ajax({
url: '<?= Mage::getBaseUrl()?>xpayment/index',
type: 'POST',
data: {},
success: function(res){
$j('#payPalRedirect').attr('href','https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey=' res 'amp;expType=mini');
//the link are change but i want call click event of $j("payPalRedirect");
//code for triggering click
$j('#payPalRedirect').trigger('click');
}
});
}
Ответ №3:
Если щелчок не работает, вы можете использовать базовый JavaScript
window.location = 'https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey=' res 'amp;expType=mini';
Комментарии:
1. да: D я пробую много событий, но не знаю, как запустить в success: function (res){}
2. @Long: я почти уверен, что событие щелчка запущено, но ссылка может не реагировать на это. Без дополнительной информации (т. Е. Как именно всплывающее окно привязано к ссылке) мы не сможем вам помочь.
3. <a id=»payPalRedirect» href=» sandbox.paypal.com/webapps/adaptivepayment/flow/… » target=»_blank»>Полное оплаты PayPal</a> , когда я нажимаю на тег, то киньте мне всплывающее окно, и когда я закрываю это я <script> var returnFromPayPal = function () { alert(«Returned from PayPal»); } var dgFlowMini = new PAYPAL.apps. DGFlowMini({ trigger: ‘payPalRedirect’, ExpType: ‘mini’, CallbackFunction: ‘returnFromPayPal’ }); </script> чтобы показать мне, закрыто это всплывающее окно или нет, поэтому мне нужен щелчок в теге, а не в новом окне
4. В этом случае вам нужно создать новое окно, используя var = windowReference = window.open(«url»); затем вы можете выполнить вышеуказанную работу, используя переменную windowReference.