Javascript jQuery提交函数多次添加数据

Javascript jQuery提交函数多次添加数据,javascript,jquery,form-submit,submit-button,Javascript,Jquery,Form Submit,Submit Button,我有这个功能,我使用它来存储基于某些规则的项目凭证代码 $("#serial_number").submit(function (e) { e.preventDefault(); console.log('started'); if (param == 'groupon' || param == 'livingsocial') { var secretS = $('#serial').val(); var secre

我有这个功能,我使用它来存储基于某些规则的项目凭证代码

$("#serial_number").submit(function (e) {
        e.preventDefault();
console.log('started');
        if (param == 'groupon' || param == 'livingsocial') {
            var secretS = $('#serial').val();
            var secretP = $('#pin').val();

            if ((/(?=[a-fA-F0-9]*[a-fA-F])[a-fA-F0-9]{10}/.test(secretS) === true) || (secretS.length == 13)) {


                var s = $('#serial').val();
                var p = $('#pin').val();
                var item = {}
                item["serial"] = s;
                item["pin"] = p;
                item["product_code"] = '74';
                item["promo_code"] = '74';
                item["covers"] = 2;

                jsonObj.push(item);
正如您可以看到的,基于rexEg规则,我在IF条件中编写了一个条目,我向jsonObj添加了一个条目,所以如果它是有效的,我会将一个条目推入jsonObj

如果我根据123456789a这样的规则只输入一次正确的序列号,一切都很好,我有这个[{serial:123456789a,pin:undefined}],很好

问题在于:

尝试-用户键入类似1234的内容,并尝试提交表单,但基于o规则,表单项未存储到jsonObj中

尝试-用户类型ggghhh55也未存储到jsonObj中

用户最终提交了正确的序列号,如123456789a,但随后添加了3次,因此我有以下内容:

[{serial:123456789a,pin:undefined},{serial:123456789a,pin:undefined},{serial:123456789a,pin:undefined}]

为什么??为什么提交表单添加项目3次。。。应该只添加一次


最后,当用户输入正确的序列号时,表单将被提交以前的尝试次数。。。所以,如果有3次不成功的尝试,表单将提交3次…

似乎您需要在每次尝试后重置jsonObj