项目中我们经常遇到:当客户选择某一个单选(多选)按扭时,页面中一些对象将被禁用或者隐藏,这里我把我在项目中写的一个函数帖出来供大家参考!项目紧写的急通用性不是很好!只是对RADIO对象,其它大家可以参考着修改下就可以使用。
/*
*--------------- 客户端表单通控制-----------------
* 功能:客户端某一表单控制其它表单的显示,禁用
* 函数:ControlFormObj(ControlType,ObjControl,ObjByList)用来控制表单对象
* 参数:ControlType:控制类型(目前只有显示禁用);ControlObject控制对象ID,ObjByList被控制对象列表(多个对象用逗号分开)
* 作者:小海
* Email:xiaohai511@gmail.com
* Create:2006-12-19
* 备注:这里ObjControl对象是radio表单对象
*---------------客户端表单通控制 -----------------
*/
//控制表单禁用
function ControlFormObj(ControlType,ObjControl,ObjByList)
{
var VarObjDisabled=ObjByList;
var VarStr=VarObjDisabled.split(",");
if(ControlType=="OpenClose")
{
if(document.getElementById(ObjControl).checked)//禁用
{
for(i=0;i<VarStr.length;i++)
{
document.getElementById(VarStr[i]).style.background='#FFFFFF';//对象禁用后的颜色
document.getElementById(VarStr[i]).disabled = false;//释放
}
}
else
{
for(i=0;i<VarStr.length;i++)
{
document.getElementById(VarStr[i]).style.background='#E0E0E0';//对象禁用后的颜色
document.getElementById(VarStr[i]).disabled = true;//禁用
}
}
}
else if(ControlType=="BlockNone")//隐藏
{
if(document.getElementById(ObjControl).checked)
{
for(i=0;i<VarStr.length;i++)
{
document.getElementById(VarStr[i]).style.display='block';//显示
}
}
else
{
for(i=0;i<VarStr.length;i++)
{
document.getElementById(VarStr[i]).style.display='none';//隐藏
}
}
}
}