提交表单时,角度事件成功,它将打开弹出窗口

米歇尔·迪本尼迪托(Michele Dibenedetto)

我有一个页面,该页面通过角度$ http.post(..)将数据发布到ASPNET MVC页面,当调用完成时,我必须提交一个表单。

基本上,我执行以下操作:

<html ng-app>
<body data-ng-controller="testController">
    <form id="Checkpay" name="Checkpay" style="margin: 0" method="post" action="https://www.sandbox.paypal.com/cgi-bin/webscr" target="_blank" class="ng-pristine ng-valid">
        <input type="hidden" name="quantita" id="qtytext" value="0">
        <input type="hidden" name="cmd" value="_xclick">
        <input type="hidden" name="item_name" value="Le Spose di Nika">
        <input type="hidden" name="business" value="[email protected]">
        <input type="hidden" name="currency_code" value="EUR">
        <input type="hidden" name="cancel_return" id="cancel_return" value="">
        <input type="hidden" name="return" id="return" value="">
        <input type="hidden" name="no_shipping" value="1">

        <input type="hidden" id="H_amount" name="amount" value="719.80">
        <input type="hidden" id="H_first_name" name="first_name">
        <input type="hidden" id="H_address1" name="address1">
        <input type="hidden" id="H_city" name="city">
        <input type="hidden" id="H_state" name="state">
        <input type="hidden" id="H_zip" name="zip">
        <input type="hidden" id="H_email" name="email">
        <input type="hidden" id="Country" name="country">
        <input type="hidden" id="charset" name="charset" value="utf8">
        <input type="hidden" id="rm" name="rm" value="2">
        <input type="hidden" id="notify_url" name="notify_url" value="">

        <input id="Submit1" type="submit" value="submit_post" />
    </form>
    <input id="Submit2" type="button" data-ng-click='pay()' value="js_post" />

</body>



</html>

<script src="http://localhost:27433/Scripts/jquery-1.7.1.min.js"></script>
<script src="http://localhost:27433/Scripts/jquery-ui-1.8.20.min.js"></script>
<script src="http://localhost:27433/Scripts/angular.js"></script>
<script>

    function test() {

    }

    function testController($scope, $http) {
        var URL = "http://backend.MYSITE.com/";

        $scope.payTest = function () {


            var PAYPAL_URL_RELEASE = "https://www.paypal.com/cgi-bin/webscr";
            var PAYPAL_URL_SANDBOX = "https://www.sandbox.paypal.com/cgi-bin/webscr";

            $('#cancel_return').val(URL + '/ErrorPay');
            $('#return').val(URL + '/Success');
            $('#notify_url').val(URL + '/PayPalReceiverIPN.ashx?idOrder=');
            document.forms["Checkpay"].action = PAYPAL_URL_RELEASE;
            document.forms["Checkpay"].submit();

            console.log('paytest is executed!');
        }

        $scope.pay = function () {

            ////$.post(  URL + "/Order/Create", JSON.stringify({ newOrder: 1 }))
            ////    .success(function (datdata, status, headers, configa) {
            ////        console.log(' $.post success');
            ////        $scope.payTest();
            ////    }).error(function (data, status, headers, config) {
            ////        console.log(' $.post failure');
            ////    });


            $http.post(
               URL + "/Order/Create", JSON.stringify({ newOrder: 1 })
                 ).success(function (datdata, status, headers, configa) {
                     console.log('http success');
                     $scope.payTest();
                 }).error(function (data, status, headers, config) {
                     console.log('http failure');
                 });
        }
    }
</script>

当我做document.forms [“ Checkpay”]。submit(); 我想将页面重定向到表单的属性操作中,而不是弹出页面以进行重定向。

我试图将函数payTest()移出“成功”,然后工作了,然后我认为问题是对象$ http(或ajax)如何处理“成功”委托。

问题是:在调用$ http.post(....)finish时,是否仍要进行页面重定向?

谢谢

米歇尔·迪本尼迪托(Michele Dibenedetto)

好的,问题的答案和解释在这里在新窗口中打开页面,没有弹出窗口阻止

问题:当我执行form.submit()时,我得到一个弹出窗口,而不是在浏览器上获得一个新标签页

原因:我已经将其替换为ajax调用的成功委托,这意味着用户没有开始esplicitilly提交,因此,如果BLOCK处于ON位置,浏览器将弹出并响应弹出式窗口

解决方案:我们可以通过两种方法解决这种情况:1)设置target =“ _ self”,但是我们将获得提交到父页面的响应2)在ajax调用中使用aa syncne标志。注意,似乎$ http使用硬编码标志使用了异步请求

回答所有的问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在提交表单后显示成功弹出窗口?

来自分类Dev

成功提交表单后打开一个弹出窗口

来自分类Dev

关闭表单提交时打开的弹出窗口,并触发单击父窗口

来自分类Dev

jQuery事件仅在表单成功提交时

来自分类Dev

每次打开时,角度内的自举弹出窗口都会重复表单内容

来自分类Dev

提交表单时验证和Fancybox弹出窗口

来自分类Dev

弹出窗口消失,页面在表单提交时重新加载

来自分类Dev

打开弹出窗口时,如何传播jQuery Mobile事件?

来自分类Dev

如何检查Firebase推送事件在表单提交时是否成功

来自分类Dev

关闭表单提交的弹出窗口并在 reactjs 的父组件上显示成功/错误消息

来自分类Dev

提交事件打开新窗口

来自分类Dev

阻止提交的表单在同一弹出窗口中打开

来自分类Dev

提交表单后在 mvc asp.net 中打开一个弹出窗口

来自分类Dev

PHP联系表单:页面刷新时禁用确认表单重新提交弹出窗口

来自分类Dev

jQuery弹出窗口以post方法提交表单

来自分类Dev

提交表单后显示弹出窗口

来自分类Dev

在弹出窗口中打开实体表单

来自分类Dev

Java onclick事件打开新的弹出窗口

来自分类Dev

将表单数据发送到按钮提交时的弹出窗口

来自分类Dev

我想在提交表单时显示一个确认弹出窗口

来自分类Dev

在Ionic2中选择打开弹出窗口时如何检测事件?

来自分类Dev

为什么JavaScript触发的提交表单(方法获取,目标空白)会打开弹出窗口而不是新选项卡?

来自分类Dev

成功后出现消息弹出窗口并禁用“提交”按钮

来自分类Dev

检查弹出窗口是否打开时出错

来自分类Dev

打开弹出窗口时程序闪烁

来自分类Dev

当弹出窗口打开时防止正文滚动

来自分类Dev

在页面加载时打开弹出窗口

来自分类Dev

如何在点击时打开弹出窗口?

来自分类Dev

WPF 打开弹出窗口并在弹出窗口打开时在主窗口上工作

Related 相关文章

  1. 1

    在提交表单后显示成功弹出窗口?

  2. 2

    成功提交表单后打开一个弹出窗口

  3. 3

    关闭表单提交时打开的弹出窗口,并触发单击父窗口

  4. 4

    jQuery事件仅在表单成功提交时

  5. 5

    每次打开时,角度内的自举弹出窗口都会重复表单内容

  6. 6

    提交表单时验证和Fancybox弹出窗口

  7. 7

    弹出窗口消失,页面在表单提交时重新加载

  8. 8

    打开弹出窗口时,如何传播jQuery Mobile事件?

  9. 9

    如何检查Firebase推送事件在表单提交时是否成功

  10. 10

    关闭表单提交的弹出窗口并在 reactjs 的父组件上显示成功/错误消息

  11. 11

    提交事件打开新窗口

  12. 12

    阻止提交的表单在同一弹出窗口中打开

  13. 13

    提交表单后在 mvc asp.net 中打开一个弹出窗口

  14. 14

    PHP联系表单:页面刷新时禁用确认表单重新提交弹出窗口

  15. 15

    jQuery弹出窗口以post方法提交表单

  16. 16

    提交表单后显示弹出窗口

  17. 17

    在弹出窗口中打开实体表单

  18. 18

    Java onclick事件打开新的弹出窗口

  19. 19

    将表单数据发送到按钮提交时的弹出窗口

  20. 20

    我想在提交表单时显示一个确认弹出窗口

  21. 21

    在Ionic2中选择打开弹出窗口时如何检测事件?

  22. 22

    为什么JavaScript触发的提交表单(方法获取,目标空白)会打开弹出窗口而不是新选项卡?

  23. 23

    成功后出现消息弹出窗口并禁用“提交”按钮

  24. 24

    检查弹出窗口是否打开时出错

  25. 25

    打开弹出窗口时程序闪烁

  26. 26

    当弹出窗口打开时防止正文滚动

  27. 27

    在页面加载时打开弹出窗口

  28. 28

    如何在点击时打开弹出窗口?

  29. 29

    WPF 打开弹出窗口并在弹出窗口打开时在主窗口上工作

热门标签

归档