每次在输入字段中按下键时调用javascript函数

时间:2011-09-27 11:00:37

标签: javascript

我想在按下某个键时调用一个函数。我正在使用onKeyPress事件处理程序。但是我看到它只在第一次按下键时才调用该函数。我想在每次按下键时调用它。有人可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

答案1。

<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
    var jq=jQuery.noConflict();
    jq(document).ready( function(){
        jq(document).keydown(function(event){
            // -- here comes your code of function --
            jq("#keycode").html(event.which); // example code, event.which captures key index
        });
    });
</script>
</head>
<body>
    <div id="keycode">Press any Key to see its index</div>
</body>

答案2。

您应该使用onchange |替换onKeyPress http://www.w3schools.com/jsref/event_onchange.asp

答案 1 :(得分:1)

我运行了您的HTML代码,它按预期工作。

只有当密码具有指定长度时,您的checkPassword()功能才可以设置为,如下代码所示:

<input type="password" name="password" size=30 onkeyPress="checkPassword(this)" />
<script type="text/javascript">
function checkPassword(pass) {
    if (pass.value.length > 7) {
        alert("Password is greater than 7 characters.");
    } else {
        //DO NOTHING
    }
}
</script>

在这种情况下,如果密码不超过7个字符,该函数可能看起来没有被调用,但它实际上是(该函数运行得如此之快,你甚至不知道它正在变得叫)。

答案 2 :(得分:1)

<script>
function l(ths){
    document.getElementById('length').innerHTML=ths.length;
}
</script>
Length: <span id="length"></span><br/>
<input type="text" onkeyup="l(this.value);"/>

答案 3 :(得分:1)

可能为时已晚,但是...

<script>
    function checkPassword(pwd){
      if(pwd.length < 8){
        document.getElementById('message').innerHTML = 'Password needs to 8 characters minimum.';
      }
      else{
        document.getElementById('message').innerHTML = '';
      }
    }
  </script>

在HTML正文中...

  <input type="password" name="password" size=30 onkeyup="checkPassword(this.value)" />
  <span id="message"></span><br/>