2008-12-09 57 views
0

我试图在输入类型=“text”控件上使用onkeypress,以便在按下输入按钮时触发一些javascript。它适用于大多数页面,但我也有一些页面带有自定义的.NET控件。.NET在使用Javascript onKeypress之前提交消息

问题是.NET在onkeypress之前提交。有没有人有关于如何首先制造onkeypress火的见解?

如果有帮助,这是我的javascript:

function SearchSiteSubmit(myfield, e) 
{ 
    var keycode; 
    if (window.event) 
     keycode = window.event.keyCode; 
    else if (e) 
     keycode = e.which; 
    else 
     return true; 
    if (keycode == 13) 
    { 
     SearchSite(); 
     return false; 
    } 
    else 
     return true; 
} 

回答

0

你如何分配JavaScript?

它应该看起来像:

<input id="TextID" type="text" onkeypress="return SearchSiteSubmit('TextID', event)" /> 
0

的Javascript OnKeyPress永远火首先,它更阉的情况下,或不,它已经完成它的操作页面被调回之前..

我会说重新思考发生了什么,在哪里..服务器端发生了什么?

+0

感谢,在onkeypress事件触发上面的函数,然后触发searchsite这是谷歌的自定义搜索引擎代码的适应。所以我认为Google执行搜索的过程可能会比.NET做的更长。 – plntxt 2008-12-09 16:50:09

+0

实际上,我只有onkeypress =“SearchSiteSubmit()”添加return(onkeypress =“return SearchSiteSubmit()”)使其工作。 – plntxt 2008-12-09 17:07:08

0

这不是很清楚的问题,所以我给它一个镜头 -

它看起来像你正在寻找的“输入”这里一个按键。问题似乎是,“回车”键通常与浏览器自动绑定到表单上的提交按钮,这意味着当用户按下回车键时,您将提交表单,而不是运行您在此处具有的JavaScript。你应该做的是建立一个全局事件处理程序,当按下输入按钮时,检查“MyField”是否具有焦点,如果是,则触发javascript,而不是提交表单。我希望我能理解你的问题!