0
내 페이지에 여러 개의 탭이 있습니다. "변경 사항을 저장 하시겠습니까?"라는 경고 상자를 제공하고 싶습니다. 사용자가 페이지의 내용을 변경하면 페이지에 제공된 저장 버튼을 클릭하지 않고 diff 탭을 클릭합니다.경고, 탭을 클릭 할 때 저장하기 전에 저장
내 페이지에 여러 개의 탭이 있습니다. "변경 사항을 저장 하시겠습니까?"라는 경고 상자를 제공하고 싶습니다. 사용자가 페이지의 내용을 변경하면 페이지에 제공된 저장 버튼을 클릭하지 않고 diff 탭을 클릭합니다.경고, 탭을 클릭 할 때 저장하기 전에 저장
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...
}
친절하게 도와 주셔서 감사합니다 :) :) :) –