zoukankan      html  css  js  c++  java
  • asp.net设置默认按钮的一种方法(041217更新)

    041217对DefaultButton.js做了一点必要的更改。

    由于asp.net里面的button都是submit类型的,所以在表单内按回车都是触发的第一个按钮的click事件,如果有多个button则无法在回车的时候触发后面的按钮事件。以下方案可通过设置来改变页面的默认按钮。

    1.在基页面内的load事件里加入supportDefaultButton()

    2.基页面中声明变量:
    Protected DefaultButton As Button

    3.在基页面中加入函数supportDefaultButton并重载RaisePostBackEvent

        Private Sub supportDefaultButton()
            GetPostBackEventReference(
    New System.Web.UI.Control)
            RegisterStartupScript(
    "DefaultButton""<script language='javascript' src='/js/DefaultButton.js'></script>")
        
    End Sub


        
    Protected Overloads Overrides Sub RaisePostBackEvent(ByVal sourceControl As System.Web.UI.IPostBackEventHandler, ByVal eventArgument As String)
            
    If (DefaultButton Is Nothing OrElse Request("__EVENTTARGET"<> ""Then
                
    MyBase.RaisePostBackEvent(sourceControl, eventArgument)
            
    ElseIf (Not DefaultButton Is NothingThen
                
    MyBase.RaisePostBackEvent(DirectCast(DefaultButton, System.Web.UI.IPostBackEventHandler), Nothing)
            
    End If
        
    End Sub


    4.DefaultButton.js文件内容:

    for(i=0;i<Form1.elements.length;i++)
    {
        
    if(Form1.elements[i].type == "submit")
        {
            fstsubmit 
    = Form1.elements[i]
            fstsubmit.attachEvent(
    "onmouseup", changeEvent)
            //
    break; 这一句应该去掉
        }
    }
    function changeEvent()
    {
        __doPostBack(event.srcElement.id, '')
    }


    在继承页面的load事件里:
    5.DefaultButton = 需要设置为默认按钮的对象名称
    即可。


    IE6里面测试通过,低版本没有测试,但应该没问题。有兴趣的朋友可以帮忙测试一下兼容性,顺便告知。要是有更好的办法,也请给个链接看看。

    ---------------------------

    http://www.cnblogs.com/squirrel_sc

    1. 如有引用,请包含本段文字及原始出处。以表示对作者的尊重,且能将有相似想法的人联系起来。

    2. 如无特殊说明,本文的文字代表作者的观点和想法。由于人类的记忆和连通性的限制,可能会将别人的观点和想法当成自己的(会尽量避免,但我读书少,别蒙我:D);或有人会有同样的想法(那就太好了)。若有此类情况,请联系我。我会很高兴更新内容。

    3. 每篇文章会根据反馈或新的想法,随时更新。我会尽量记得更新版本号。

  • 相关阅读:
    Android Studio 开发
    Jsp编写的页面如何适应手机浏览器页面
    电影
    Oracle 拆分列为多行 Splitting string into multiple rows in Oracle
    sql server 2008 自动备份
    WINGIDE 激活失败
    python安装 错误 “User installations are disabled via policy on the machine”
    ble编程-外设发送数据到中心
    iOS开发-NSString去掉所有换行及空格
    ios9 字符串与UTF-8 互相转换
  • 原文地址:https://www.cnblogs.com/squirrel_sc/p/67206.html
Copyright © 2011-2022 走看看