2012-08-28 2 views
0

레코드의 값을로드하고 페이지의 컨트롤에 값을 쓰는 asp.net 페이지가 있습니다.버튼이 클릭되었는지 테스트

다른 페이지 및 저장 버튼에 대한 링크가 있습니다.

사용자가 저장을 클릭하면 변경 사항이 저장되고 어디로나 이동할 수 있습니다.

저장을 클릭하지 않고 링크를 클릭하면 변경 사항이 손실됩니다.

사용자가 해당 페이지를로드하는 동안 저장이 클릭되었는지 확인하는 방법이 있습니까?

- 아래처럼 링크에 대해 OnClick Javascript 함수의 줄을 따라 생각하고 있는데, 저장 버튼을 테스트하는 방법을 클릭하는 것만으로도 - 누군가 올바른 방향으로 나를 가리킬 수 있습니까?

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

답변

0

bool 변수를 추가합니다.이 변수는 기본적으로 false이며 버튼을 클릭하면 true로 설정됩니다. 그런 다음 사용자가 페이지를 떠날 경우 값을 확인하십시오.

0

hidden field을 사용할 수 있습니다. 사용자가 저장 버튼을 클릭하면 hidden field 값을 설정합니다.

+0

페이지 크기가 몇 바이트로 증가합니다. 모든 비트가 중요하므로 자바 스크립트에서 임시 변수를 사용하는 것이 편리합니다. – VIRA

0

임시 변수를 자바 스크립트 상태로 유지해야합니다. 이 경우

`

var state = 0; 

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

`

, 당신은 가치를 제출하거나 상태 = 1, 그렇지 않으면 당신은 야해 때 다른 페이지로 이동해야합니다. 이 플래그는 링크 (함수를 통해 탐색하는 경우) 또는 페이지의 onBeforeUnload 이벤트를 클릭하는 동안 검사됩니다.

다른 것을 찾고 계시다면 알려주십시오.

0

버튼을 클릭하면 변수에 값을 첨부 할 수 있습니다. 그런 다음 사용자가 탐색하려고하면 해당 변수에 해당 값이 있는지 확인하십시오. 그렇다면, 그것은 다른되지 클릭되었을 : 내가 당신이라면

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

, 나는 동적 바인딩 jQuery를 사용합니다 :

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

는이 같은 ASP.NET 서버 버튼을 사용하는 가정 클릭 이벤트는 다음과 같습니다.

$(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() 
     } 
    }); 
}); 

희망이 있습니다.

관련 문제