Javascript 使用enter键搜索关键字-错误

Javascript 使用enter键搜索关键字-错误,javascript,.net,Javascript,.net,所以,我正在我的网站上开发一个搜索功能,我想将用户重定向到一个包含他试图搜索的关键字的页面 下面的代码可以工作,但是有一个bug:当我在我的主页中单击enter时,它可以工作。用户已成功重定向到带有搜索结果的“我的搜索”页面。但当我在该页面(或任何其他页面)时,回车键不起作用!只有按钮一直有效!这是一个奇怪的错误,我不知道该怎么办 此代码位于我的母版页(.net 4.0)中,它是我所有webforms(包括home)的父级。有人能帮我吗 佩斯奎萨尔 函数运行脚本(e){ 如果(e.keyCo

所以,我正在我的网站上开发一个搜索功能,我想将用户重定向到一个包含他试图搜索的关键字的页面

下面的代码可以工作,但是有一个bug:当我在我的主页中单击enter时,它可以工作。用户已成功重定向到带有搜索结果的“我的搜索”页面。但当我在该页面(或任何其他页面)时,回车键不起作用!只有按钮一直有效!这是一个奇怪的错误,我不知道该怎么办

此代码位于我的母版页(.net 4.0)中,它是我所有webforms(包括home)的父级。有人能帮我吗


佩斯奎萨尔
函数运行脚本(e){
如果(e.keyCode==13){
$(“#BTPesquisa”)。单击();
}
}

原因可能是找不到
TBPesquia
字段,因为这是一个asp.net文本框控件,ID可能不是您所期望的

现在,您可以选择设置
ClientID
属性,如:

<asp:TextBox ID="TBPesquisa" ClientID="TBPesquisa" runat="server" placeholder="Pesquise produtos aqui" onkeypress="return runScript(event)"></asp:TextBox>

顺便说一句,我宁愿将用于搜索的代码放在searchbutton本身之外,只有将其放在html元素之外才有意义

您是否有其他称为runScript的脚本?没有。。。此脚本仅在此处使用…并且没有其他同名脚本如果在其他页面上出现错误,是否签入调试器?例如,当我执行此操作时,无法获取未定义的值(如果未找到您的
TBPesquisa
):函数runScript(e){if(e.keyCode==13){var test=$(“#BTPesquisa”);alert(test)}我在主页和其他页面中获取[Object Object],但。。。在chrome控制台中,出现以下错误apears“加载资源失败:服务器响应状态为404(未找到):21741/未定义?1496853103683”非常感谢您的帮助!我会做到的!:)
<asp:TextBox ID="TBPesquisa" runat="server" placeholder="Pesquise produtos aqui" onkeypress="runScript(event)"></asp:TextBox>
 function runScript(e) {
   var source = e.target;
   if (e.keyCode === 13) {
     searchFor( source.value );
     e.preventDefault();
   }  
 }

 function searchFor( textValue ) {
   window.location.assign('/Pesquisa?val=' + encodeURIComponent(textValue));
 }