0

如果按下输入按钮,我正在尝试在输入类型 =“文本”控件上使用 onkeypress 来触发一些 javascript。它适用于大多数页面,但我也有一些带有自定义 .NET 控件的页面。

问题是 .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;
}
4

3 回答 3

0

JavascriptOnKeyPress总是会首先触发,这更多的是在页面回发之前它是否已完成操作的情况。

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

于 2008-12-09T16:31:01.327 回答
0

这不是一个很明确的问题,所以我试一试——

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

于 2008-12-09T16:39:09.407 回答
0

你是如何分配javascript的?

它应该看起来像:

<input id="TextID" type="text" onkeypress="return SearchSiteSubmit('TextID', event)" />
于 2008-12-09T17:14:33.297 回答