因为客户有一些很重要的信息不能让用户编辑所以需要设置成不可以编辑,但表单上的属性实在太多.
解决方案如下:把不可编辑的信息统一放在一个TAB页面,或者放某个节上.然后用下面的脚本实现控制.
1.写一个统一的函数
2.调用
解决方案如下:把不可编辑的信息统一放在一个TAB页面,或者放某个节上.然后用下面的脚本实现控制.
1.写一个统一的函数
1function setDisabled(id, ignoreNodes, nodesDisabled)
2
3{
4
5var node, nodes;
6
7nodes = id.getElementsByTagName('*');
8
9if(!nodes)
10
11return;
12
13var i = nodes.length;
14
15while (i--)
16
17{
18
19node = nodes[i];
20
21if(node.nodeName && !(node.nodeName.toLowerCase() in ignoreNodes))
22
23{
24
25if((node.nodeName == "INPUT") || (node.nodeName == "TEXTAREA"))
26
27{
28
29node.readOnly = nodesDisabled;
30
31}
32
33else
34
35{
36
37node.disabled = nodesDisabled;
38
39}
40
41}
42
43}
44
45}
2
3{
4
5var node, nodes;
6
7nodes = id.getElementsByTagName('*');
8
9if(!nodes)
10
11return;
12
13var i = nodes.length;
14
15while (i--)
16
17{
18
19node = nodes[i];
20
21if(node.nodeName && !(node.nodeName.toLowerCase() in ignoreNodes))
22
23{
24
25if((node.nodeName == "INPUT") || (node.nodeName == "TEXTAREA"))
26
27{
28
29node.readOnly = nodesDisabled;
30
31}
32
33else
34
35{
36
37node.disabled = nodesDisabled;
38
39}
40
41}
42
43}
44
45}
2.调用
if (crmForm.FormType == 2)
{
/*disable/readonly fields*/
if(crmForm.all.fundcrm_custtype2.SelectedText=="正式")
{
setDisabled(document.getElementById("tab0"), {table:'', iframe:'', div:'', form:'', col:'', colgroup:'', lable:'', span:'', tbody:'', body:'', tr:'', td:''}, true);
setDisabled(document.getElementById("tab2"), {table:'', iframe:'', div:'', form:'', col:'', colgroup:'', lable:'', span:'', tbody:'', body:'', tr:'', td:''}, true);
}
}
{
/*disable/readonly fields*/
if(crmForm.all.fundcrm_custtype2.SelectedText=="正式")
{
setDisabled(document.getElementById("tab0"), {table:'', iframe:'', div:'', form:'', col:'', colgroup:'', lable:'', span:'', tbody:'', body:'', tr:'', td:''}, true);
setDisabled(document.getElementById("tab2"), {table:'', iframe:'', div:'', form:'', col:'', colgroup:'', lable:'', span:'', tbody:'', body:'', tr:'', td:''}, true);
}
}