类似于我们在输入标签上使用onfocus和onclick的方式,当有人在表单中的字段中的文本框上按enter键时,我使用以下方法(如果方法错误,请告诉我什么是正确的方法)提交表单
例如,当某人在密码字段中写入密码并按下回车键(当光标位于密码字段上时)时,表单应该提交。
我甚至有一个提交按钮,但我希望在点击提交时按下文本输入时也能发生同样的事情
我现在正在使用这个
onkeypress='if (event.keyCode == 13) { validate(); }'
对于我的文本框字段
这里的问题是,当文本框的历史记录显示在文本框下方,并且我通过按enter键选择它时,它不会首先在文本框中取值。它直接验证文本框中的值
示例:我已经在我的电子邮件文本框中键入了ab,我得到abc@xyz.com在我的文本框下面,显示我之前已经键入了,而不是当我按下向下箭头并按下回车键时,它不需要abc@xyz.com在我的文本框中,但立即运行validate(),anhd给了我一个错误,即错误的电子邮件格式。
我认为它应该首先在文本框中取我的旧值,然后运行验证函数
我正在使用代码点火器
不确定是否理解您的问题,
也许你需要这样的代码:
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">
您尝试过方法吗:onsumbit:
<form method="post" onsubmit="validate()">...