如何js禁用注释信息(nodes)
最近有朋友问到如何将注释能看不能写,即所谓的只读模式,其实这个可以通过权限来控制。但是朋友觉得这样设置太死板于是乎本人想出了另外一种做法。(最后根据描述的原理会给出一个更为直接的方法)
1.我们在我们的实体上再添加一个选项卡“注释”,如下图:
2.我们在这个选项卡里面建立一个新的“节”和“IFrame”,其中IFrame我们将其命名为“IFrame_nodes”,并设置iframe属性如下图:
3.将以下这段js脚本添加到这个实体的onlaod事件当中。
function disabled2()
{
if(IFRAME_nodes.document.readyState=="complete")
{
var NotesTable = window.frames['IFRAME_nodes'].document.getElementById('NotesTable');
NotesTable.disabled = true;
var TextArea = NotesTable.getElementsByTagName('TEXTAREA');
for (i=0;i<TextArea.length;i++)
{
TextArea[i].disabled = true;
}
}
}
//crmForm.all.tab1Tab.style.display='none';
crmForm.all.notescontrol.attachEvent( "onreadystatechange",disabled);
crmForm.all.IFRAME_nodes.attachEvent( "onreadystatechange",disabled2);
var url=crmForm.all.notescontrol.Url;
url=url.replace("EnableInlineEdit=true","EnableInlineEdit=false");
url=url.replace("EnableInsert=true","EnableInsert=false");
crmForm.all.IFRAME_nodes.src=url;
{
if(IFRAME_nodes.document.readyState=="complete")
{
var NotesTable = window.frames['IFRAME_nodes'].document.getElementById('NotesTable');
NotesTable.disabled = true;
var TextArea = NotesTable.getElementsByTagName('TEXTAREA');
for (i=0;i<TextArea.length;i++)
{
TextArea[i].disabled = true;
}
}
}
//crmForm.all.tab1Tab.style.display='none';
crmForm.all.notescontrol.attachEvent( "onreadystatechange",disabled);
crmForm.all.IFRAME_nodes.attachEvent( "onreadystatechange",disabled2);
var url=crmForm.all.notescontrol.Url;
url=url.replace("EnableInlineEdit=true","EnableInlineEdit=false");
url=url.replace("EnableInsert=true","EnableInsert=false");
crmForm.all.IFRAME_nodes.src=url;
将实体发布,运行看看效果吧!
当我们希望在原有的注释基础上修改的时候,可以忽略上面的所有创建标签部分,只修改onload中的js代码为:
function disabled()
{
if(notescontrol.document.readyState=="complete")
{
window.frames['notescontrol'].document.getElementById("newNoteButton").style.display = 'none';
var NotesTable = window.frames['notescontrol'].document.getElementById('NotesTable');
NotesTable.disabled = true;
var TextArea = NotesTable.getElementsByTagName('TEXTAREA');
for (i=0;i<TextArea.length;i++)
{
TextArea[i].disabled = true;
}
}
}
crmForm.all.notescontrol.attachEvent( "onreadystatechange",disabled);
{
if(notescontrol.document.readyState=="complete")
{
window.frames['notescontrol'].document.getElementById("newNoteButton").style.display = 'none';
var NotesTable = window.frames['notescontrol'].document.getElementById('NotesTable');
NotesTable.disabled = true;
var TextArea = NotesTable.getElementsByTagName('TEXTAREA');
for (i=0;i<TextArea.length;i++)
{
TextArea[i].disabled = true;
}
}
}
crmForm.all.notescontrol.attachEvent( "onreadystatechange",disabled);