天天看点

返回上一页,判断当前页是否改动

var vFlag = false;

function reup()

{

var cInput = document.getElementsByTagName("input");

var cAreaText = document.getElementsByTagName("textarea");

var cSelect = document.getElementsByTagName("select");

for(var i = 0 ; i < cInput.length ; i ++)

{

if(vFlag == true)

{

break ;

}

if(cInput.item(i).value != cInput.item(i).defaultValue)

{

vFlag = true;

break;

}

}

if(vFlag == false)

{

for (i=0;i<cAreaText.length;i++)

{

if (vFlag ==true)

break;

if (cAreaText.item(i).value != cAreaText.item(i).defaultValue)

{

vFlag = true;

break;

}

}

}

if(vFlag == false)

{

for (i=0;i<cSelect.length;i++)

{

if (vFlag ==true)

break;

if (cSelect[i].defaultValue != cSelect[i].options[cSelect[i].selectedIndex].value)

{

vFlag = true;

break;

}

}

}

if(vFlag == true){

if(confirm('退出后当前页面未保存的信息将丢失,是否确定退出?'))

{

location.href="RecruitList.aspx?cid=" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" +getQueryString("cid");

}

}

else

{

location.href="RecruitList.aspx?cid=" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" +getQueryString("cid");

}

只是这样还不够,因为select标签在执行调试的时候会提示select当前你获得的值是Undefiend,所以这就要求你要对select标签进行初始化.

请看代码:

function on_load()

{

for(i=0;i<document.getElementsByTagName("select").length;i++)

{

var select = document.getElementsByTagName("select").item(i);

//这里需要加上一个判断,就是只有select 没有里面的item

if(select.length != 0 && select.defaultValue == undefined){

select.defaultValue = select.options[select.selectedIndex].value;

}

}

然后在window.load = on_load;或body里面<body class="page_bgcolor" οnlοad="on_load();">就可以了

继续阅读