<div id="esealSubRight_cbx">
<p>
<label >签章管理:</label>
<input id="subRightWhiteList1" name="subRightWhiteList" type="checkbox" value="14-01-01-00-00-00-00-00-00-00-00" checked="checked">公章管理</input> 
<input id="subRightWhiteList2" name="subRightWhiteList" type="checkbox" value="14-01-02-00-00-00-00-00-00-00-00" checked="checked">私章管理</input><br>
<input id="subRightWhiteList3" name="subRightWhiteList" type="checkbox" value="14-01-03-00-00-00-00-00-00-00-00" checked="checked">签章申请</input> 
<input id="subRightWhiteList4" name="subRightWhiteList" type="checkbox" value="14-01-04-00-00-00-00-00-00-00-00" checked="checked">签章制作</input>
</p>
</div>
[size=medium]
发现个问题,如果将disabled属性直接加在<div id="esealSubRight_cbx">上,div中的input框是点不了了,可是后台还能接收到对应的值。
于是将disabled属性加到逐个的input框上去,这样input即点不了,后台也接收不到值了。
如何用js使input框失效?
$("#subRightWhiteList1").attr("disabled","diabled"); (使失效)
$("#subRightWhiteList1").removeAttr("disabled"); (去掉失效)
[/size]
function timer(){
var rolerights = document.getElementById('right.id').value;
if(rolerights.indexOf("14-00-00-00-00-00-00-00-00-00-00") > -1 ){
$("#subRightWhiteList1").removeAttr("disabled");
$("#subRightWhiteList2").removeAttr("disabled");
$("#subRightWhiteList3").removeAttr("disabled");
$("#subRightWhiteList4").removeAttr("disabled");
}else{
$("#subRightWhiteList1").attr("disabled","diabled");
$("#subRightWhiteList2").attr("disabled","diabled");
$("#subRightWhiteList3").attr("disabled","diabled");
$("#subRightWhiteList4").attr("disabled","diabled");
}
}
var t1 = window.setInterval("timer()",500);
function closeInterval(){
window.clearInterval(t1);
}
[size=medium]
window.setInterval("timer()",500); 此处为一个定时器,每0.5秒执行一次timer()函数。
此处为什么用到定时器?
right.id节点是这样的: <input id="right.id" name="role.rights" type="hidden" />
这个节点的值如果变化的话,我会执行以下其它的操作,刚开始想到用onchange等属性,后来发现它们不能监控js等程序赋值带来的变化,所以就想到使用定时器,每隔0.5秒查看一次这个值,如果有变化,然后做对应的其它操作。
[/size]