如何在按下输入html时调用javascript函数

时间:2015-12-13 15:07:48

标签: javascript html

我刚刚开始学习javascript和html,我有一个带有按钮的表单来检查输入的密码是否正确。

但是,我想这样做,以便当我按回车键时,检查密码而不必按下按钮。

这是html:

<html>
<head>
<script type="text/javascript" src="login.js"></script>
</head>

<body>
<form>
password: <input type="password" name="password" />
<input type="button" value="Enter" onclick="check(this.form)" />
</form>
</body>
</html>

这是我的javascript:

function check(form){
    var test = form.password.value;
    if(test == "password"){
        alert("correct");
    }
    else{
        alert("Incorrect");
    }
}

对我的问题或任何建议的任何帮助将不胜感激。 感谢

2 个答案:

答案 0 :(得分:1)

$(document).keypress(function(e) {
    if(e.which == 13) {  //13 is enter key code
       check(form);  //pass form...call function
    }
});

答案 1 :(得分:1)

您还可以使用“提交”按钮并覆盖form.onsubmit事件来处理此问题。这样,您只能捕获表单或任何输入字段上的Enter,而不是整个文档。

编辑 - 示例

上面的例子增强了:

<!DOCTYPE html>
<html>
<body>

<p>When you submit the form, a function is triggered which alerts some text.</p>

<form action="demo_form.asp" onsubmit="return myFunction(this)">
  Enter name: <input type="text" name="fname">
  <input type="submit" value="Submit">
</form>

<script>
    function myFunction(form) {
        alert(form.fname.value);
        return false;
    }
</script>

</body>
</html>

注意:

  1. 看到我现在onsubmit="return myFunction(this)"返回myFunction()返回的值
  2. 如果myFunction()返回false,则提交被取消(不会发生),如果返回true则提交表单。