结合onclick和onkeypress

时间:2015-02-26 19:56:17

标签: javascript

我有这个html表单,它实际上并没有将数据发送到php文件,而是将数据发送到javascipt函数。

如果点击按钮就可以正常工作,但是当我点击输入时没有任何反应。

如果用鼠标点击或者用户点击进入,我希望按钮工作。

我该如何解决这个问题?感谢

       <input type="button" value="Reveal Now" style="margin: 3px;font-family: 'festivo_lcbasic', Arial, Helvetica, sans-serif; text-transform:uppercase; font-size:26px; text-decoration:none; font-weight:normal; padding-top: 10px;"  onclick="check(this.form.Pass.value)"  onkeypress="check(this.form.Pass.value)"/>
  </form>

  <script type="text/javascript">

  var password = ["#123, #345"];

  function check(pass) {
    for(a = 0; a < password.length; a++) {
      if (pass == password[a]) {
        top.location.href="enter.html";
        return;
      }
    }
    location.href="incorrect.html";
  }

  </script>

2 个答案:

答案 0 :(得分:0)

我认为当您在enter-key字段中输入时,用户输入text时会尝试检查某些内容。我假设你的input text就像

<input type="text" id="Pass" />

<input type="text" id="Pass"  onkeypress="runScript(event)" />

并在script

中添加此功能
function runScript(e) {
    if (e.keyCode == 13) {
        var pas = document.getElementById("Pass").value;
        check(pas) //calling your button function

    }
}

完整的脚本:

<script type="text/javascript">

var password = ["#123, #345"];

function check(pass) {
for(a = 0; a < password.length; a++) {
    if (pass == password[a]) {
       top.location.href="enter.html";
        return;
    }
  }
  location.href="incorrect.html";
}

function runScript(e) {
    if (e.keyCode == 13) {
        var pas = document.getElementById("Pass").value;
        check(pas) //calling your button function

    }
}

</script>

<input type="text" id="Pass"  onkeypress="runScript(event, this.value)" />

脚本:

function runScript(e, pas) {
    if (e.keyCode == 13) {
        check(pas) //calling your button function

    }
}

答案 1 :(得分:0)

你的代码很糟糕,原因很多,我现在还没有进入,但是如果你查看你的javascript控制台(chrome / firefox),你会看到这个错误:

以下是我修复代码的方法。  1.将ID“myButton”添加到您的  2.将'myButton'传递给check()函数  3.使用getElementById()从函数

获取
<input id="myButton" type="button" value="Reveal Now" style="margin: 3px;font-family: 'festivo_lcbasic', Arial, Helvetica, sans-serif; text-transform:uppercase; font-size:26px; text-decoration:none; font-weight:normal; padding-top: 10px;"  onclick="check('myButton')"  onkeypress="check('myButton')"/>

<script type="text/javascript">

var password = ["#123, #345"];

function check(someID) {
    for(a = 0; a < password.length; a++) {
        if (document.getElementById(someID).value == password[a]) {
            top.location.href="enter.html";
        return;
        }
    } 
    location.href="incorrect.html";
}

</script>

有意义吗?