Нажмите в успешном ajax

#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.