2011-05-12 2 views

답변

1

JavaScript로 처리 할 수 ​​있습니다. 이를 위해 기술적으로 다른 방법이 있습니다. 이 중 하나는 필드/페이지에 변경 사항이 있는지 확인하는 기능입니다. 이 함수는 다른 탭 함수에서 먼저 호출됩니다.

페이지를로드 할 때 필드의 모든 값을 하나의 변수 또는 숨겨진 필드에 연결하여 저장하십시오. 그러나 변수로 변수를 분리 한 다음 나중에 연결할 수 있습니다.

ex. var gOldValue = 'value1value2value3....'; //The value1.... is generated via JSP 

이 페이지에 변경이있는 경우 기본이되는 gOldValue에 포함 된 모든 필드의 현재 값으로 gOldValue 값을 비교하는 함수를 작성합니다.

function isPageChanged(form){ 
    var currentValue = ""; 
    for(var i = 0; i < form.length; i++){ 
     //Assuming all elements in the form have the value that stored in `gOldValue` 
     //upon loading. Now check its current value if will be same. 
     currentValue += form.elements(i).value; 
    } 

    //Return a value that will indicate that pages have been changed 
    if(gOldValue != currentValue){ 
     return true;    
    }   
    return false; 

} 

다른 탭은 main 함수를 실행하기 전에 먼저 isPageChanged() 함수를 호출 할 수 있습니다.

<input type="button" onClick="showNextPage()" value="Next" />.... 

function showNextPage(){ 
    if(isPageChanged()){ 
     var isConfirm = confirm("Do you want to save changes"); 
     if(isConfirm){ 
      //Save the changes 
     } 
    } 
    //Else do some stuff... 

} 
+0

친절하게 도와 주셔서 감사합니다 :) :) :) –

관련 문제