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

时间:2016-08-20 05:24:50

标签: javascript php jquery

我正在开展信用卡项目。我在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>

1 个答案:

答案 0 :(得分:1)

我认为validateCreditCard函数没有正确执行,你得到的是空值..

1)首先检查你得到Card_Number ??

如果不是那么就放alert(card_number) 试试这一行

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

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