禁止回車送出
左直拳
回車送出真讨厭。
解決方法:
在<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 控件概述和部分頁呈現概述。
二、将鍵盤碼變成别的,類似