javascript 文本框应调用按钮单击事件

dgtucam1  于 2023-01-04  发布在  Java
关注(0)|答案(2)|浏览(158)

我有一个文本框和一个按钮;按钮点击事件导航到网站中的其他位置。我想做同样的事情按下回车键,但无法做到这一点。请帮助我解决这个问题。我的代码片段如下:

function call() 
{
    document.location= "location.aspx";
} 

<input type="text" id="txt1" onkeydown ="if(event.keyCode==13)document.getElementById('bt1').click()"/>
<input type="button"  id="bt1" value ="Hit me" onclick ="call()" />
enyaitl3

enyaitl31#

这和单击是一样的,两者都调用这个函数...

onkeydown ="if(event.keyCode==13) call()"
gopyfrb3

gopyfrb32#

如果你可以编辑你的HTML代码,你可能不需要做任何JS来让它工作。你的HTML中的INPUT字段应该被 Package 在一个FORM标记中(至少这在大多数情况下语义上更有意义)。
如果可以做到这一点,就可以将INPUT元素从TYPE按钮更改为TypeSUBMIT,然后监听FORM元素上的onsubmit事件。
该事件是激发双方按下回车键和点击按钮,它的工作非常顺利,在浏览器。唯一的问题是IE不激发onsubmit事件的形式只有1个文本输入字段。为此,你将不得不插入另一个字段到该形式。你可以隐藏它为您的情况。更多参考:http://style-vs-substance.com/development/form-submit-by-enter-key-and-internet-explorer/
编辑:代码示例

<form id="myForm">
    <!--[if IE]>
    <input type="text" style="display: none;" disabled="disabled" size="1" /><![endif]-->
    <input type="text"/>
    <input type="submit" value="Search"/>
</form>

然后在您的JS中:

var formHandler = document.getElementById('myForm');
formHandler.onsubmit = function(){
  //this callback will be invoked both by the search button and enter key now
  //your logic here
}

相关问题