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