在charactercount中需要jQuery AJAX PHP的帮助吗

在charactercount中需要jQuery AJAX PHP的帮助吗,php,jquery,ajax,keyboard-events,Php,Jquery,Ajax,Keyboard Events,输入框中的字符计数脚本有问题。当它达到最大级别时,我调用一个ajax函数,它第一次工作,但当我在此输入框中键入第二次时,ajax调用和keyup事件不工作,我的代码如下: HTML <div class="row-fluid hide payment_mode_card"> <input type="text" name="card_number" id="card_number" alt="cc" placeholder="Credit card number" class

输入框中的字符计数脚本有问题。当它达到最大级别时,我调用一个ajax函数,它第一次工作,但当我在此输入框中键入第二次时,ajax调用和keyup事件不工作,我的代码如下:

HTML

<div class="row-fluid hide payment_mode_card">
 <input type="text" name="card_number" id="card_number" alt="cc" placeholder="Credit card number" class="required number xlarge span12" />
</div>
和PHP:

if($_POST['action']=='chkcard'){
    $firstSixChr = substr($_POST['cardNum'], 0, 6);
    $debit_or_credit = Salucro_payment::GetDebitOrCredit($firstSixChr);
    /*echo "<pre>";
    print_r($debit_or_credit);

     $debit_or_credit = $debit_or_credit[debit_or_credit];
    echo $card_type = $debit_or_credit[card_type];*/

    echo json_encode( $debit_or_credit );
}
if($\u POST['action']=='chkcard'){
$firstSixChr=substr($_POST['cardNum'],0,6);
$debit_或_credit=Salucro_payment::GetDebitOrCredit($firstSixChr);
/*回声“;
打印(借方或贷方);
$debit_或_credit=$debit_或_credit[借记或贷记];
echo$card_type=$debit_或_credit[card_type]*/
echo json_编码($debit_或_credit);
}
任何帮助都将不胜感激。

试试这个

它使用
cardNum.length
来确定何时进行ajax调用,而您之前一直在计算按键次数,这是一种不好的方法

我还将
live()
更改为
on()
。在jQuery v1.7中,Live已被弃用
on()
是您现在应该使用的方法:)

试试这个

它使用
cardNum.length
来确定何时进行ajax调用,而您之前一直在计算按键次数,这是一种不好的方法


我还将
live()
更改为
on()
。在jQuery v1.7中,Live已被弃用
on()
是您现在应该使用的方法:)

您可以将其用作字符计数器脚本,然后在适用时应用AJAX。这是字符计数器和输入限制器的完美工作示例


您可以将其用作字符计数器脚本,然后在适用时应用AJAX。这是字符计数器和输入限制器的完美工作示例


您尝试过模糊事件吗?您尝试过模糊事件吗?没问题-很乐意帮助:)没问题-很乐意帮助:)
if($_POST['action']=='chkcard'){
    $firstSixChr = substr($_POST['cardNum'], 0, 6);
    $debit_or_credit = Salucro_payment::GetDebitOrCredit($firstSixChr);
    /*echo "<pre>";
    print_r($debit_or_credit);

     $debit_or_credit = $debit_or_credit[debit_or_credit];
    echo $card_type = $debit_or_credit[card_type];*/

    echo json_encode( $debit_or_credit );
}
var xTriggered = 0;
$('#card_number').on('keyup',function(event) {
    var cardNum = $(this).val();
    if (cardNum.length == 6){
    var action = "chkcard";
    $.ajax({ 
        url: "/{$current_folder}/check_card_type.{$CONFIG.site.file.extension}",
        type: "post",
        data: { "cardNum" : cardNum, "action":action},
        success: function(debit_or_credit){
            var dataObj = JSON.parse(debit_or_credit);
            alert('This is a '+dataObj.debit_or_credit+' Card of '+dataObj.card_type+' type');

        },
        error: function(){
            alert('There is an error');
        }
    });
})