首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >键盘上的Jquery

键盘上的Jquery
EN

Stack Overflow用户
提问于 2015-04-22 21:04:03
回答 3查看 261关注 0票数 1

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

我目前要检测邮政编码字段上的密钥的代码是:

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

<input id="postal-code" />

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-22 21:12:46

没有额外库的Javascript

代码语言: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;
  }
});
代码语言:javascript
复制
<input placeholder="Address" />
<input id="postal-code" placeholder="Postal Code" />
<button id="submit">Submit</button>

jQuery

代码语言:javascript
复制
$(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);
});
代码语言:javascript
复制
<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>

票数 1
EN

Stack Overflow用户

发布于 2015-04-22 21:12:47

您可以使用this.value[0]获取输入的第一个字符。然后测试它是否是允许的字符之一。

代码语言:javascript
复制
$("#input").on("keyup", function() {
  if (this.value != '') {
    var firstchar = this.value[0].toUpperCase();
    if (firstchar != 'A' && firstchar != 'G') {
      alert('not a valid postal code');
      $("#submitID").prop("disabled", true);
    } else {
      $("#submitID").prop("disabled", false);
    }
  }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="input"/>

票数 0
EN

Stack Overflow用户

发布于 2015-04-22 21:17:02

看看这把小提琴http://jsfiddle.net/oyc2L9sy/12/

html:

代码语言:javascript
复制
<input id="test" type="text" />

javascript:

代码语言:javascript
复制
$(document).ready(function() {
    $("#test").on("keypress", function(e) {  
        if ((e.keyCode == '65') ||
            (e.keyCode == '71')) { 
            alert('not a valid postal code');
            return false;
        }
    });  
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29808790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档