javascript - 按键上的 Jquery

标签 javascript jquery html forms

我正在寻找一个功能,当在邮政编码的第一个位置按下某个字符键(g)时发出警报,然后如果邮政编码以字母 G 开头则禁用提交按钮。 这可能吗?

我当前检测邮政编码字段上的键的代码是这样的:

$(document).ready(function() {
  var someTextInputField = "#postal-code";
  
  $(someTextInputField).on("keyup", function() {
    alert('not a valid postal code');
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input id="postal-code" />

最佳答案

无需额外库的 JavaScript

document.addEventListener("input", function(e) {
  if (e.target.id === "postal-code") {
    var disable = /^g/i.test(e.target.value),
      submit = document.getElementById("submit");
    
    if (disable && !submit.disabled) {
      alert("You cannot start a postal code with a G");
    }
    
    submit.disabled = disable;
  }
});
<input placeholder="Address" />
<input id="postal-code" placeholder="Postal Code" />
<button id="submit">Submit</button>

jQuery

$(document).on("input", "#postal-code", function (e) {
  var disable = /^g/i.test(this.value),
      $submit = $("#submit");
    
    if (disable && !$submit.prop("disabled")) {
      alert("You cannot start a postal code with a G");
    }
    
    $submit.prop("disabled", disable);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input placeholder="Address" />
<input id="postal-code" placeholder="Postal Code" />
<button id="submit">Submit</button>

关于javascript - 按键上的 Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29808790/

相关文章:

javascript - 是否可以使用快速路线正则表达式中的捕获组?

javascript - 从单个 HTTP 请求生成多个 HTTP 请求 Angular 2

javascript - 网站加载速度和 Bootstrap "Carousel"图片加载

javascript - Angular 下拉菜单

html - 短线任一侧文本

javascript - Protractor e2e 测试表头和 <tr>,<td> 标签

javascript - 如果用户使用 jQuery 单击页面上除 2 个元素之外的任何位置,如何隐藏 div?

javascript - 获取表单值并将其传递给提交时的 Bootstrap 模式

html - CSS:使用 element:hover 伪类选择不相关的元素

html - 从顶部淡入淡出到一段?