在输入(文本框)字段中按Enter键时验证并提交表单,但在输入按下时不选择历史记录

时间:2012-04-02 12:58:53

标签: php javascript

类似于我们如何在输入标签上进行onfocus和onclick我使用下面的方法(如果方法有误,请让我知道什么是正确的方法),当有人按下文本框中的输入时提交表单表格中的字段

当有人在密码字段中输入密码并按下回车键时(当光标在密码字段上时),表单应该提交。

我甚至有一个提交按钮但是我想要在点击提交时按下文字时发生同样的事情

我现在正在使用

onkeypress='if (event.keyCode == 13) { validate(); }'

表示我的文本框字段

这里的问题是,当我的文本框的历史记录显示在我的文本框下方并且我通过按Enter键选择它时,它不会在我的文本框中首先取值。它会立即验证文本框中的值

实施例: 我输入了abcin我的电子邮件文本框,我在我的文本框下方显示abc@xyz.com,显示我之前输入的内容,而不是当我按下向下箭头并按下输入时不按abc@xyz.com我的文本框,但直接运行validate()anhd给我一个错误的错误的电子邮件格式。

我认为首先应该在文本框中使用旧值,然后运行验证功能

我正在使用codeigniter

2 个答案:

答案 0 :(得分:1)

不确定理解你的问题,
也许你需要这样的代码:

function submitMe(event) {
    if (window.event.keyCode == 13)
    {
        document.myForm.submit();
    }
}

然后在你的HTML中:

 <input type="input" ... onKeyPress="submitMe(event)"  value=""> 

或者您可以使用autocomplete="off"代替value=""

 <input type="input" ... onKeyPress="submitMe(event)"  autocomplete="off">

答案 1 :(得分:0)

你尝试过方法:onsumbit:

<form method="post" onsubmit="validate()">...