我的页面中有很多标签,我想提供一个警告框,上面写着“你想保存更改吗?”如果用户更改页面中的任何内容,而不点击页面中提供的保存按钮,则他点击差异标签。
答案 0 :(得分: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;
}
在执行其主函数之前,您的其他选项卡可能首先调用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...
}