DotNet2005Web画面由Enter键造成Submit的防止

 在DotNet2005Web画面中,如果有Submit按钮,在画面任一Text项目上按Enter键,

都会造成画面被提交(Submit)。

按以下手顺来验证“DotNet2005Web画面由Enter键造成Submit的防止方法“

(1)

DotNet2005开发环境-〉文件-〉新Web Site

创建Default.aspx画面,由工具箱拖入一个Textbox和一个Button.

(2)

点开Default.aspx的Html源程序,在head部加入以下的Enter键屏蔽Javascript 程序

<head runat="server">
    <title>无题</title>
<script type="text/javascript">
function funcformonkeydown(){
  //DotNet2005Web画面由Enter键造成Submit的防止

var src = window.event.srcElement;
  if(event.keyCode == 13) {
    if (src.type == '' ) {
      src.click();
    } else if (src.type != 'submit'
      && src.type != 'button'
      && src.type != 'textarea' ) {
      return false;
    }
  }
}
</script>

</head>

(3)

在Default.aspx的PageLoad中加入Javascript 程序的调用

#Region "PageLoad"
    ''' -----------------------------------------------------------------------------
    ''' <summary>
    '''     PageLoad
    ''' </summary>
    ''' <remarks>
    '''     PageLoad Process
    ''' </remarks>
    ''' <param name="sender">system object</param>
    ''' <param name="e">system object</param>
    ''' <history>
    '''     DHC    2008/01/02 Created
    '''     XXXXXXXX 9999/99/99 Updated
    ''' </history>
    ''' -----------------------------------------------------------------------------
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Try

            Me.form1.Attributes.Clear()
            Me.form1.Attributes.Add("onKeyDown", "javascript:return funcformonkeydown();")

            'Dim chkEnterKey As String = "<script language='JavaScript'> function chkEnterKey(){ alert(event.keyCode); if (event.keyCode == 13){  return false; }  else{ return true; }} <" & "/script>"
            'ClientScript.RegisterStartupScript(Me.GetType(), "chkEnterKey", chkEnterKey)


            'function chkEnterKey(){
            '  if (event.keyCode == 13){
            '   //NG
            '    return false;
            '  } else{
            '   //OK
            '   return true;
            '  }
            '}

            If Not Me.IsPostBack Then
                TextBox1.Text = "Not Me.IsPostBack"
            Else
                TextBox1.Text = "Me.IsPostBack"
            End If
        Catch ex As Exception

        Finally
            'Session Time

        End Try
    End Sub

#End Region

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值