繁体   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