如果满足条件,则验证表单

Validate form if a condition is met

本文关键字:验证 表单 满足 条件 如果      更新时间:2023-09-26

我正在做一个信用卡项目。我在javascript (validateCreditCard)中有一个函数,它可以帮助我验证信用卡并返回信用卡类型。在获得信用卡类型之后,我将隐藏输入cardType的值存储为提交表单后使用的值。点击提交按钮后,如果函数cardFormValidate返回true,用户将被带到'proceed.php'。

这就是我一直试图通过编写这些代码行来实现的,但隐藏输入的值仍然是空的。请帮帮我。对不起,我的母语不是英语

function cardFormValidate() {
        //Card validation
        var card_number = $('#CreditCardNumber');
        card_number.validateCreditCard(function (result) {
            var cardType = (result.card_type == null) ? '' : result.card_type.name;
            if (result.valid) {
                $("#cardType").val(cardType);
                cardValid = true;
            } else {
                $("#cardType").val('');
                cardValid = false;
            }
          return cardValid;
        });
    }
    $(document).ready(function() {
        //Submit card form
        $("#PayButton").on('click',function(){
            if (cardFormValidate()) {
                //Move to proceed.php to treat the form
            }else{
              alert('bad credit card');
            }
        });
    });
<form method="post" action="proceed.php">
    <input name="cardType" type="hidden" id="cardType">
    <div class="form-group">
        <label for="NameOnCard">Name on card</label>
        <label for="NameOnCard"></label><input id="NameOnCard" class="form-control" type="text" name="NameOnCard" maxlength="255"/>
    </div>
    <div class="form-group">
        <label for="CreditCardNumber">Card number</label>
        <input id="CreditCardNumber" class="null card-image form-control" name="CreditCardNumber" type="text"/>
    </div>
    <button id="PayButton" type="submit"></button>
</form>

我认为validateCreditCard函数没有正确执行,您正在获得空值。

1)首先检查Are You getting Card_Number ??

alert(card_number),如果没有,然后试试这行

var card_number = $('#CreditCardNumber').val();

2)返回validateCreditCard的数据必须有name的属性检查出来,否则你会得到空值…