簡體   English   中英

測試是否單擊了按鈕

[英]Testing if a button has been clicked or not

我有一個asp.net頁面,該頁面將記錄中的值加載並寫入頁面上的控件。

有一個鏈接到另一個頁面和一個保存按鈕。

如果用戶單擊保存,就可以保存更改,並且他們可以導航到任何地方。

如果他們不單擊保存,然后單擊鏈接,則所有更改都將丟失。

有沒有一種方法可以檢查在用戶加載該頁面時是否單擊了保存?

我沿着一個onClick JavaScript函數的行思考的鏈接,如-below,我不知道但如何測試被點擊保存按鈕 - 任何人都可以點我在正確的方向?

function handleHyperLinkClick(hyperlink) 
{ 
    confirm("You have not clicked save, any changes will be lost - click cancel then save  your changes or ok to continue");
 } 

添加一個bool變量,默認為false,如果單擊該按鈕,則設置為true。 然后,如果用戶離開頁面,請檢查該值。

您可以使用hidden field 當用戶單擊保存按鈕,然后設置hidden field值。

您必須在javascript之類的狀態下保留一個臨時變量;

`

var state = 0;

 //your function calls here
function yourFunction()
{
//// your coding
 state =1;
//// your coding
}

`在這種情況下,當state = 1時,您必須提交值或導航到其他頁面,否則不應該。 單擊鏈接(如果通過功能導航)或頁面的onBeforeUnload事件時,將檢查此標志。

如果您正在尋找其他東西,請指正我。

單擊按鈕時,可以將一些值附加到變量。 然后,當用戶嘗試導航時,檢查該變量是否具有該值。 如果是這樣,則單擊它,否則不會:

button = document.getElementById("button");
button.onclick = function() { clicked = true; }
document.getElementById("link").onclick = function() { if (!clicked) { alert("Sure?"); }

假設您正在使用如下所示的ASP.NET服務器按鈕:

<asp:Button runat="server" id="someButtonId" Click="someClickHandler" Text="Continue" />

如果我是你,我將使用jQuery來動態綁定按鈕的click事件,如下所示:

$(document).ready(function() {
   $("input[type=button][id$=someButtonId]").on("click", function(e) {
      if(!confirm("You have not clicked save, any changes will be lost - click cancel then save  your changes or ok to continue"))
      {
          e.preventDefault()
      }
   });
});

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM