我在表单上有一个按钮。在Page_Load事件期间,我通过后面的代码向按钮添加一个新的onclick属性。但是,当我检查firefox中的按钮时,我的属性不存在,并且被替换为:
onclick =' javascript:WebForm_DoPostBackWithOptions(新的WebForm_PostBackOptions(" button_modal_search","",true," modalSearch","& #34;,false,false))'
这是我运行应用程序之前的标签:
这里是我的代码背后: button_modal_search.Attributes.Add(" onclick"," return showSearchSpinner()")
任何人都知道如何防止该属性被覆盖?
答案 0 :(得分:0)
ASP.NET确实会覆盖您的onclick
属性,但会提供OnClientClick属性以允许您指定自己的客户端行为:
button_modal_search.OnClientClick = "return showSearchSpinner();"
如果该属性的值是常量,您还可以在按钮标记本身中将其指定为属性。
答案 1 :(得分:0)
有一个属性OnClientClick
:button_modal_search.OnClientClick="return showSearchSpinner();"
答案 2 :(得分:0)
button_modal_search.Attributes.Add(" onclick"," return showSearchSpinner()&#34)
以上代码没问题。如果您不想回发到服务器,只需从javascript函数返回 false 即可。
否则,它会在运行 showSearchSpinner 函数后回发到服务器。
function showSearchSpinner(){
// do something
return false;
}
注意:您无需担心ASP.Net取代onclick事件 - onclick='javascript:WebForm_... false, false))'
。
基本上 showSearchSpinner javascript函数拦截ASP.Net点击事件,当你点击button_modal_search按钮时。