【发布时间】:2019-12-01 21:48:18
【问题描述】:
我有这个功能,用于根据一些规则存储物品(优惠券代码)......
$("#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);
如您所见,根据我在 IF 条件下编写的 rexEg 规则,我将一个项目添加到 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 次......
【问题讨论】:
标签: javascript jquery form-submit submit-button