需求:
页面有若干控件,如果编辑了却没有保存,跳转其他页面时会提示是否需要保存。问题:
如何获得页面是否编辑的状态?现在的解决方法:
页面置隐藏域,记录初始状态:0-未编辑。
设置txt框的onpropertychange事件,如果change,隐藏域状态置为1-已编辑。
页面跳转时检测隐藏域的值。疑问:
有没有什么更智能的方法,来获取txt框的状态?
比如,JQuery,或者浏览器有什么接口/字段可以使用?请大侠们帮忙,谢谢。
页面有若干控件,如果编辑了却没有保存,跳转其他页面时会提示是否需要保存。问题:
如何获得页面是否编辑的状态?现在的解决方法:
页面置隐藏域,记录初始状态:0-未编辑。
设置txt框的onpropertychange事件,如果change,隐藏域状态置为1-已编辑。
页面跳转时检测隐藏域的值。疑问:
有没有什么更智能的方法,来获取txt框的状态?
比如,JQuery,或者浏览器有什么接口/字段可以使用?请大侠们帮忙,谢谢。
{
Flag = false; if(document.getElementById(objID) == undefined || document.getElementById(objID) == null)
{
return false;
} var clInput = document.getElementById(objID).all.tags("input");
var clArea = document.getElementById(objID).all.tags("textarea");
var clSelect= document.getElementById(objID).all.tags("select");
for (i=0;i<clInput.length;i++)
{
if (Flag ==true)
break;
switch (clInput.item(i).type)
{
case "text" :
if (clInput.item(i).value != clInput.item(i).defaultValue)
{
Flag = true;
break;
}
case "radio" :
if (clInput.item(i).checked != clInput.item(i).defaultChecked)
{
Flag = true;
break;
}
case "checkbox" :
if (clInput.item(i).checked != clInput.item(i).defaultChecked)
{
Flag = true;
break;
}
}
}
for (i=0;i<clArea.length;i++)
{
if (Flag ==true)
break;
if (clArea.item(i).value != clArea.item(i).defaultValue)
{
Flag = true;
break;
}
} for (i=0;i<clSelect.length;i++)
{
if (Flag ==true)
break;
if (clSelect[i].defaultValue != clSelect[i].options[clSelect[i].selectedIndex].value)
{
Flag = true;
break;
}
}
return Flag;
}
function on_load()
{
for(i=0;i<document.all.tags("select").length;i++)
{
var select = document.all.tags("select").item(i); //这里需要加上一个判断,就是只有select 没有里面的item
if(select.length != 0 && select.defaultValue == undefined)
select.defaultValue = select.options[select.selectedIndex].value;
}
} window.onload=on_load
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaohutushen/archive/2006/09/13/1217132.aspx