在更改粘贴密钥时获得两次触发器

时间:2017-10-12 10:36:29

标签: php jquery

所以我有扫描仪和输入文本,如果扫描仪获得最大9位数值,将插入我的数据库(自动)。这些我的编码

$(window).load(function(){
        $( "#scannerinput" ).focus();
        $('#scannerinput').bind("change paste keyup", function(){
            var barcode = $(this).val();
            var judul = $(this).attr("target-judul");
            var dataString = "judul=" + judul + "&barcode=" + barcode;
            if(this.value.length ==9){
                $.ajax
                ({
                    type: "POST",
                    url: url+"ajax",
                    data: dataString,
                    cache: false,
                    success: function(data)
                    {
                        //window.location.href = url;
                    }
                });

                $( "#scannerinput" ).blur(); 
                //console.log(dataString);
            }
        });
    });

我的问题是我的代码插入两次或触发两次。如何让它一次触发???有什么想法??

1 个答案:

答案 0 :(得分:0)

添加现有数据数组:

var exists_dataString_arr=[];     //array of exist data

$(window).load(function(){
        $( "#scannerinput" ).focus();
        $('#scannerinput').bind("change paste keyup", function(){
            var barcode = $(this).val();
            var judul = $(this).attr("target-judul");
            var dataString = "judul=" + judul + "&barcode=" + barcode;

            if((this.value.length ==9)&&(exists_dataString_arr.indexOf(ataString)<0)){     //if not in array
                $.ajax
                ({
                    type: "POST",
                    url: url+"ajax",
                    data: dataString,
                    cache: false,
                    success: function(data)
                    {
                        //window.location.href = url;
                        exists_dataString_arr=[];
                    }
                });
                exists_dataString_arr.push(dataString);        //add data in array
                $( "#scannerinput" ).blur(); 
                //console.log(dataString);
            }
        });
    });
相关问题