天天看点

禁止回车提交

禁止回车提交

左直拳

回车提交真讨厌。

解决方法:

在<form>里屏蔽:

<form id="form1" runat="server" onkeypress="javascript:return NoSubmit(event);">

<script type="text/javascript">

function NoSubmit(ev)

{

    if( ev.keyCode == 13 )

    {

        return false;

    }

    return true;

}

</script>

传说中的解决方法:

一、在<form>里指定defaultbutton,将其值赋以一个LinkButton的UniqueID。MSDN说:

使用

DefaultButton

属性可以指定用户可通过在窗体的输入控件(如文本框)中按 Enter 来引起回发。除了 LinkButton 控件之外,可以将从 IButtonControl 接口派生的任何控件指定为默认按钮。如果

属性所引用的控件不是从 IButtonControl 派生的,则会引发 InvalidOperationException 异常。

如果使用母版页,并且从内容页中设置

属性,请使用 IButtonControl 按钮的 UniqueID 属性。有关母版页的更多信息,请参见 ASP.NET 母版页概述。

在以下情况下,

属性可能不会引起回发:

·         当焦点在窗体中的输入控件外部时按下 Enter。默认的回发操作不一定会触发。

·         当焦点在多行文本框内部时按下 Enter。在多行文本框中,按下 Enter 通常会在文本框中创建一个新行。在某些浏览器中,在多行文本框内按 Enter 会触发回发。在这种情况下,如果希望改成按下 Enter 时创建新行,可向输入控件附加一个 JavaScript 函数。该脚本应捕获 Enter 键并停止回发。例如,可以使用 Attributes 属性集合添加

onKeyPress

事件的客户端脚本。

·         将 LinkButton 控件指定为默认按钮。只有 Button 和 ImageButton 控件是受支持的。

·            在异步回发过程中以编程方式更改

属性。通过将一个或多个 UpdatePanel 控件添加到页中,可以在页上启用异步回发。有关更多信息,请参见 UpdatePanel 控件概述和部分页呈现概述。

二、将键盘码变成别的,类似

继续阅读