jQuery keyup / onchange bug

时间:2016-03-01 08:15:50

标签: jquery onchange keyup large-data

用户可以通过页面上的大量(> 500)输入字段插入订单值:

<input type="text" name="%id%" data-product_id="%id%" class="updateQtyField" maxlength="4">

无法使用“保存”按钮,因此我们使用jQuery脚本将插入数据更新到会话:

  $("input.updateQtyField").keyup(function() {
    $.post("update.php", { product_id: $(this).data('product_id'), qty: $(this).val() }, function(result) { if (result != 1) { alert(result); } });
  });

不幸的是,$ .post请求有可能没有更新字段,我完全不知道为什么。可能是因为系统的用户工作非常快:插入值 - 选项卡 - 插入值 - 选项卡 - 等。通过日志我看到keyup触发器运行良好,但$.post没有不做他的工作。看来工作岗位没有任何响应。

我尝试通过额外的onChange操作使用解决方法,但这也不是很好的预处理,同样不是所有字段都正确更新。我尝试过的另一个选项是运行良好但是会给出一些表现问题:每个keyup发送输入字段。结果非常好,但页面冻结了几秒钟并且不是一个好的解决方案。

PHP文件update.php是一个非常简单的文件: $_SESSION['productQty'][$_POST['product_id']] = $_POST['qty'];

0 个答案:

没有答案