我正在开展信用卡项目。我在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>
答案 0 :(得分:1)
我认为validateCreditCard
函数没有正确执行,你得到的是空值..
1)首先检查你得到Card_Number
??
如果不是那么就放alert(card_number)
试试这一行
var card_number = $('#CreditCardNumber').val();
2)validateCreditCard
必须有name
属性的返回数据检查出来否则你会得到空值..