首页 > 解决方案 > 如何在条纹支付表单上禁用 jquery 中的验证

问题描述

我有一个带有条纹元素的表单,它是向导的一部分。我正在使用 Stripe API 中的 Javascript,但如果我单击向导中的后退按钮,我需要对其进行编辑以阻止它自行验证。这是我的代码:

Javascript:

// Handle real-time validation errors from the card Element.
        card.on('change', function (event) {
            var displayError = document.getElementById('card-errors');
            if (event.error) {
                displayError.textContent = event.error.message;
            } else {
                displayError.textContent = '';
            }
        });

        // Handle form submission.
        //var form = document.getElementById('payment-form');
        form.addEventListener('submit', function (event) {
            
            event.preventDefault();
            stripe.createToken(card).then(function (result) {
                if (result.error) {
                    // Inform the user if there was an error.
                    var errorElement = document.getElementById('card-errors');
                    errorElement.textContent = result.error.message;
                } else {
                    // Send the token to your server.
                    stripeTokenHandler(result.token);
                }
            });
            
        });


        // Submit the form with the token ID.
        function stripeTokenHandler(token) {
            // Insert the token ID into the form so it gets submitted to the server
            var form = document.getElementById('payment-form');
            var hiddenInput = document.createElement('input');
            hiddenInput.setAttribute('type', 'hidden');
            hiddenInput.setAttribute('name', 'stripeToken');
            hiddenInput.setAttribute('value', token.id);
            form.appendChild(hiddenInput);

            // Submit the form
            form.submit();
        }

当我单击后退按钮时,如何编辑它以跳过验证?

我的按钮标记如下所示:

<div class="form-group">

                                <div class="col-md-offset-2 col-md-10">

                                    <input type="submit" name="BtnPrevious" value="Previous" formnovalidate class="cancel btn btn-default" />

                                    <button class="form-control btn btn-primary" type="submit">Submit Payment</button>

                                </div>

                            </div>

我尝试了 formnovalidate 但我意识到这仅适用于 HTML5 元素。任何帮助将不胜感激

标签: javascriptjquerystripe-payments

解决方案


推荐阅读