javascript - 在更改事件上调用函数时出现问题

标签 javascript jquery

我试图在我的输入字段长度为 15 时调用一个 ajax 调用(现在我只是放入一个警告框来代替 .ajax{ }),但是警告框直到我输入字段填满 15 个字符后,单击屏幕上的某处。 我在这里做错了什么?

$("#serialCode").change(function () {
    var d = $("#serialCode").val();
    if (d.length == 15) {
        var $code = d.substring(0, 9);
        alert('Serial code ' + $code);
    }
    $(this).val("");
});

最佳答案

您可能希望使用 keypress 而不是 keyup 或 keydown,因为如果有人按住某个键,后续字符不会调用它们。

$("#serialCode").keypress(function () {
    var d = $("#serialCode").val();
    if (d.length == 15) {
        var $code = d.substring(0, 9);
        alert('Serial code ' + $code);
    }
    $(this).val("");
});

关于javascript - 在更改事件上调用函数时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3771500/

相关文章:

javascript - 在使用 Javascript OnBlur OnFocus 执行 AJAX 存储之前检查表单字段中的更改?如何?

jquery - 如何修复浏览器缓存和未修改的 JSON 响应? jQuery.ajax({ifModified :true, cache:true}) JSON 请求在数据响应时中断

javascript - 修复了滚动上的导航栏

javascript - 将 json 与 $ 映射到 jquery 自动完成的结果中

javascript - 如何在两个垂直部分显示“li”(像报纸一样并排)

javascript - 服务中的 Angular 引用错误

javascript - express 和 Passport 错误 : Unknown authentication strategy "login"

javascript - 在转发器中选择更改时更改另一个字段的值

javascript - Jquery $.post 不适用于 chrome

具有可排序选项的 jQuery 表单生成器