KeyPress Javascript函数问题

pln*_*txt 1 javascript

我通过使用OnKeyPress ="clickSearchButton()"从文本框中调用javascript函数

这是我的功能:

function clickSearchButton()
{
  var code = e.keyCode || e.which;
  var btnSearch = document.getElementById("TopSubBanner1_SearchSite1_btnSearchSite");
  if(code == 13);
      {          
           btnSearch.click(); 
           return false; 
      } 
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当用户点击任何文本框中的输入按钮时,此函数会触发,而不仅仅是调用该函数的文本框.我错过了什么?

编辑:仍然无法正常工作.所以如果有帮助的话,我会把我的HTML扔出去.

<input name="TopSubBanner1:SearchSite1:txtSearch" type="text" id="TopSubBanner1_SearchSite1_txtSearch" OnKeyPress="clickSearchButton(this)" /><input type="submit" name="TopSubBanner1:SearchSite1:btnSearchSite" value="Search" id="TopSubBanner1_SearchSite1_btnSearchSite" />
Run Code Online (Sandbox Code Playgroud)

此外,这是一个ASP.NET页面,如果这有所作为.

tj1*_*111 6

默认情况下,该事件作为参数传递给您的函数,但您不将其作为参数捕获.如果你捕获它,上面应该正常工作.

function clickSearchButton(e)
{
   e = e || window.event //for IE compliane (thanks J-P)
   //etc
Run Code Online (Sandbox Code Playgroud)

要么

function clickSearchButton()
{
   var e = arguments[0];
   e = e || window.event;
Run Code Online (Sandbox Code Playgroud)

凯文指出,你还有一个额外的分号.