Using JavaScript
First find out the tag corresponding to the input field which would like to set as read only
For this open up the editform.aspx page right click it and select view source
Say this is the tag of the input field
<input name=”TextField” type=”text” value=”Approved” maxlength=”255″ id=”4_ctl00_ctl00_TextField” title=”Status of Idea” class=”ms-long” />
Now open your editform.aspx page in SharePoint designer and add the following script to it
<script type=”text/javascript”>
function SetReadOnly()
{
// find all the elements with tag Name as INPUT
var elements=document.body.getElementsByTagName(“INPUT”);
// loop through all the elements till we find an element with type text and title as name of our field
for (index=0; index < elements.length;++index)
{
if(elements[index].type==“text”)
{
if(elements[index].title==“Status of Idea”)
{
elements[index].readOnly=true;
}
}
}
}
_spBodyOnLoadFunctionNames.push(“SetReadOnly()”);
</script>
Or
<script type=”text/javascript”>
function SetReadOnly()
{
var elements=document.getElementById(‘4_ctl00_ctl00_TextField’);
elements.readOnly=true;
}
_spBodyOnLoadFunctionNames.push(“SetReadOnly()”);
</script>
Or using event handler as mentioned over here
Or
Using CAML
http://forums.asp.net/t/1166224.aspx
And to hide button say OK button than
function SetHidden()
{
alert(‘Hi’);
var x=document.getElementsByTagName(“input”);
for (var i=0;i<x.length;i++)
{
if (x.item(i).type==”button”&&x.item(i).value==”OK”)
{
x.item(i).style.display = “none”
};
}
}
_spBodyOnLoadFunctionNames.push(“SetHidden()”);
Bye…
this was a great post. I have found it difficult to find a script that does not lose its value on post back, so now I am curious. How can this be applied to other field types like Select (lookup and dropdown). i have tried using the by ID, but not luck. Also tried to add multiple fields, but got an error.
LikeLike
Amazing !!!
Literally works
LikeLike
Nice post.
Thanks
For me its helps lot
regards
Jenkins
LikeLike
Great post, some of my customers have used this scripts to add collaboration content to LOB data in SharePoint lists with the help of the SharePoint Business Data List Connector.
Thanks again, Regards.
Frank
LikeLike
I didn’t know that Nishant Rana’s Weblog.
LikeLike
I was just thinking about Nishant Rana’s Weblog and you’ve really helped out. Thanks!
LikeLike
Wow this is exactly what I needed to see. Now I can access any field on the screen inside Sharepoint designer aspx.
LikeLike
Dont work with person picker
LikeLike
can we make a drop down list using the above script
LikeLike
I have tried every variant of the javascript examples above that I can imagine and cannot get this to work. I even tried modyifing a similar “hide field” function(see below_ that is working but to no success.
_spBodyOnLoadFunctionNames.push(“hideFields”);
function findacontrol(FieldName) {
var arr = document.getElementsByTagName(“!”);
// get all comments
for (var i=0;i 0)
{ return arr[i]; }
}
}
function hideFields() {
var control = findacontrol(“Owner Email Sent”);
control.parentNode.parentNode.style.display=”none”;
}
I’m desperate to make some fields on my editform.aspx read only using javascript – any help\recommendations would be greatly appreciated!!!
LikeLike
It’s very helpful post. Thank you.
May I have a question…?
If I need to re-write / modify the read-only field in the list of SharePoint, how should I do?
For now, I use MS Access to do data query and want to sync back to SharePoint.
Some of read-only fields in the list will occur error message to tell me it can’t be modified.
For example: Content Type, File Type, Modified, Created, Modified By, Created By…etc.
Thank you
LikeLike
Nice Article. Its really helpful.
LikeLike
Hey there, my name is Uwe and I’m a fellow blogger out of Wuppertal Elberfeld, Germany. I’m
glad to see the work you’re doing on this site. Coming upon Read only field in SharePoint EditForm.aspx | Nishant Rana’s Weblog was refreshing and helpful in terms of writing and work.
Carry on the nice work guys: I’ve incorporated you guys to my blogroll.
I think it will improve the worth of my own blog.
LikeLike
I am new to the sharepoint customisation and wanted to try this solution to make certain fields in a list read only, can you please specify which part of the page needs to be modified, step by step instructions will be awesome..thanks for help in advance
LikeLike
There are many ways to make Read only fields in SharePoint:
1. Using PowerShell to set SharePoint column read only.
2. Using jQuery/Javascript to make read only fields
3. Using SharePoint Designer to make SharePoint list field read only.
http://www.sharepointdiary.com/2013/07/how-to-make-sharepoint-list-column-form-field-read-only.html#ixzz2aH3LlOvB
LikeLike
How to make this applicable for dropdown choice field.pls help
LikeLike