.NET在Javascript onKeypress之前提交Fires

时间:2008-12-09 16:26:57

标签: .net javascript onkeypress

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

问题是.NET提交在onkeypress之前触发。有没有人知道如何首先制作onkeypress fire?

如果有帮助,这是我的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;
}

3 个答案:

答案 0 :(得分:0)

Javascript OnKeyPress将始终首先触发,更多的情况是,在页面回发之前它已完成其操作..

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

答案 1 :(得分:0)

这不是一个非常明确的问题所以我会试一试 -

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

答案 2 :(得分:0)

你是如何分配javascript的?

应该看起来像:

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