成功提交表单的Javascript警报

时间:2017-06-02 18:41:41

标签: javascript python django

我目前正在使用Django 1.9和Braintree支付JS v3。我想要做的是当用户成功提交表单时,弹出Javascript alert()。但弹出消息将取决于后端Python返回的内容......

所以这样:

  1. 提交表格
  2. 运行后端内容
  3. 使用依赖于Python后端返回的内容的消息弹出警报
  4. 关闭提醒时,刷新或重定向

    var client_token = "{{ request.session.braintree_client_token }}"
    var form = document.querySelector('#checkout-form');
    var submit = document.querySelector('input[type="submit"]');
    
    braintree.client.create({
            authorization: client_token
        }, function (clientErr, clientInstance) {
            if (clientErr) {  // for error loading client authorization
                if(alert('There was a form verification issue, reloading page on close.')){}
                else window.location.reload();
                return;
            }
    
            braintree.hostedFields.create({
                client: clientInstance,
                styles: {
                    'input': {
                        'font-size': '14px'
                    },
                    'input.invalid': {
                        'color': 'red'
                    },
                    'input.valid': {
                        'color': 'green'
                    }
                },
                fields: {
                    number: {
                        selector: '#card-number',
                        placeholder: 'Credit Card Number'
                    },
                    cvv: {
                        selector: '#cvv',
                        placeholder: '123'
                    },
                    expirationDate: {
                        selector: '#expiration-date',
                        placeholder: '10/2019'
                    },
                    postalCode: {
                        selector: '#postal-code',
                        placeholder: '10014'
                    }
                }
            }, function (hostedFieldsErr, hostedFieldsInstance) {
                if (hostedFieldsErr) {  // for errors creating form
                    if(alert('There was a form creation issue, reloading page on close.')){}
                    else window.location.reload();
                    return;
                }
    
                submit.removeAttribute('disabled');
    
                form.addEventListener('submit', function (event) {
                    event.preventDefault();
                    document.querySelector('input[id="pay-button"]').value = "Please wait...";
    
                    hostedFieldsInstance.tokenize(function (tokenizeErr, payload) {
                        if (tokenizeErr) {
                            if (tokenizeErr.code === 'HOSTED_FIELDS_FIELDS_EMPTY') {
                                alert('Please fill in card info');
                                document.querySelector('input[id="pay-button"]').value = "Complete Booking";
                            }
                            return;
                        }
                        // Put `payload.nonce` into the `payment_method_nonce`
                        document.querySelector('input[name="payment_method_nonce"]').value = payload.nonce;
                        form.submit();
                        $('input[type="submit"]').prop('disabled',true);
                    });
                }, false);
            });
        });
    
  5. 我认为在form.submit()底部运行后,此功能需要正确......

    修改

    我在代码

    中添加了vars

0 个答案:

没有答案