欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

通過JS解決頁面刷新導(dǎo)致按鈕OnClientClick事件消失問題

 更新時間:2024年12月11日 17:12:52   作者:初九之潛龍勿用  
這篇文章主要介紹了如何通過JS解決頁面刷新導(dǎo)致按鈕OnClientClick事件消失問題,OnClientClick 提供客戶端JS執(zhí)行能力,并以 return false 或 return true 來決定是否繼續(xù)執(zhí)行 OnClick 事件,需要的朋友可以參考下

故障現(xiàn)象

System.Web.UI.WebControls.Button 提供了 OnClientClick  和 OnClick 事件屬性。OnClientClick 提供客戶端JS執(zhí)行能力,并以 return false 或 return true 來決定是否繼續(xù)執(zhí)行 OnClick 事件,OnClick 事件執(zhí)行服務(wù)器方法,執(zhí)行 OnClick 事件會刷新 Web 頁面。

比如如下代碼:

<asp:Button id="sendButton" OnClientClick="return sendReady();" 
runat="server" class="btn btn-white" 
  Text="發(fā)送短信驗證碼" onclick="sendButton_Click" />

OnClientClick 事件執(zhí)行 sendReady() JS函數(shù),如果函數(shù) return true; 則執(zhí)行 onclick 事件中 sendButton_Click 服務(wù)器方法。

另外如果點擊此按鈕將其置為不可用狀態(tài)(this.disabled = true;),  再去調(diào)用其它服務(wù)器按鈕事件,如下圖:

圖中的發(fā)送按鈕點擊成功后,暫時按鈕不可用。此時去操作其它服務(wù)器按鈕,如上傳圖片。則可能會出現(xiàn)不可用按鈕恢復(fù)可用狀態(tài)時,點擊后直接執(zhí)行了服務(wù)器方法,即 OnClientClick 事件屬性消失。

開發(fā)運行環(huán)境

操作系統(tǒng): Windows Server 2019 DataCenter

.net版本: .netFramework4.7.2 

開發(fā)工具:VS2019  C#

解決

發(fā)現(xiàn)通過服務(wù)器事件捆綁,無效:

void Page_load(Object sender, EventArgs e)
{
     sendButton.OnClientClick = "return sendReady();";
}

客戶端事件捆綁,有效:

sendbtn.setAttribute("onclick","return sendReady();");

其它

本示例中如果將按鈕置為不可用狀態(tài)(disabled = true;),即使客戶端 JS 返回 return true ,也無法調(diào)用服務(wù)器方法,需要通過 JS 引用,簡單的引用方法,我們可以調(diào)用如下代碼:

__doPostBack(document.getElementById("sendButton").name, '');

 __doPostBack方法由.net 生成并管理,可以調(diào)用服務(wù)器方法,請注意引用的是元素的 name 而不是 ID,引用此方法還需要在頁面頭部引用如下屬性:

<%@ Page Language="C#" AutoEventWireup="true" MaintainScrollPositionOnPostback="true" %>

當(dāng)然如果不添加此選項,我們還可以通過模擬調(diào)用隱藏服務(wù)器按鈕的方法。

到此這篇關(guān)于通過JS解決頁面刷新導(dǎo)致按鈕OnClientClick事件消失問題的文章就介紹到這了,更多相關(guān)JS解決OnClientClick事件消失內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用js實現(xiàn)Vue2.0中數(shù)據(jù)的雙向綁定功能

    利用js實現(xiàn)Vue2.0中數(shù)據(jù)的雙向綁定功能

    vue數(shù)據(jù)雙向綁定是通過數(shù)據(jù)劫持結(jié)合發(fā)布者-訂閱者模式的方式來實現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于如何利用js實現(xiàn)Vue2.0中數(shù)據(jù)的雙向綁定功能的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • js中延遲加載和預(yù)加載的具體使用

    js中延遲加載和預(yù)加載的具體使用

    這篇文章主要介紹了js中延遲加載和預(yù)加載的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • layui.tree組件的使用以及搜索節(jié)點功能的實現(xiàn)

    layui.tree組件的使用以及搜索節(jié)點功能的實現(xiàn)

    今天小編就為大家分享一篇layui.tree組件的使用以及搜索節(jié)點功能的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • JavaScript實現(xiàn)自動跳轉(zhuǎn)文本功能

    JavaScript實現(xiàn)自動跳轉(zhuǎn)文本功能

    這篇文章主要為大家詳細(xì)介紹了JavaScript自動跳轉(zhuǎn)文本功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • 淺談javascript中return語句

    淺談javascript中return語句

    這篇文章主要給大家簡單介紹了javascript中return語句,有需要的小伙伴可以參考下。
    2015-07-07
  • 使用javascript獲取頁面名稱

    使用javascript獲取頁面名稱

    這篇文章主要介紹了使用javascript獲取頁面名稱,非常的簡潔,有需要的小伙伴參考下
    2014-12-12
  • 世界上最短的數(shù)字判斷js代碼

    世界上最短的數(shù)字判斷js代碼

    本文給大家分享世界上最短的數(shù)字判斷js代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • JS對URL字符串進(jìn)行編碼/解碼分析

    JS對URL字符串進(jìn)行編碼/解碼分析

    節(jié)約時間,先寫出總結(jié),推薦使用encodeURIComponent()來對URL進(jìn)行編碼。
    2008-10-10
  • JavaScript中的數(shù)據(jù)類型有哪些

    JavaScript中的數(shù)據(jù)類型有哪些

    本文介紹了JavaScript中的八種數(shù)據(jù)類型:Undefined、Null、Boolean、Number、String、Symbol、BigInt和Object,基礎(chǔ)數(shù)據(jù)類型存儲在棧內(nèi)存中,而引用數(shù)據(jù)類型存儲在堆內(nèi)存中,每種數(shù)據(jù)類型都有其特定的用途和特性
    2025-01-01
  • JavaScript中return false的用法

    JavaScript中return false的用法

    這篇文章主要介紹了JavaScript中return false的用法,在大多數(shù)情況下,為事件處理函數(shù)返回false,可以防止默認(rèn)的事件行為,需要的朋友可以參考下
    2015-03-03

最新評論