Get The Field Type in SharePoint 2010 Using ECMAScript


Introduction

In this article you will see how to get the field type in SharePoint 2010 using ECMAScript. I have a list named "List Request" which has the following fields (Navigate to the list, click on List tab in the ribbon interface. Click on List Settings button).

ECMA1.gif

I am going to find the field type for the column named "Choice" using ECMAScript.

Steps Involved

Step 1 : Navigate to the SharePoint site (I have a site page created in my site where I am going to add the content editor web part).

Step 2 : Go to Site Actions, click on Edit Page.

ECMA2.gif

Step 3 : Click on Insert tab in the ribbon interface and then click on Web Part button.

ECMA3.gif

Step 4 : Select Media and Content in the Categories section and then click on Content Editor.

ECMA4.gif

Step 5 : Click on Add.

Step 6 : The Content Editor web part will be added to the site page.

Step 7 : Click on the down arrow and then click on Edit Web Part.

ECMA5.gif

Step 8 : Click on "Click here to add new content".

ECMA6.gif

Step 9 : Click on Format Text tab in the ribbon interface and then click on HTML drop down.

ECMA7.gif

Step 10 : Click on Edit HTML source.

Step 11 : HTML source window will pop up.

ECMA8.gif

Step 12 : Copy and paste the following script.

<script language="ecmascript" type="text/ecmascript">
        var fieldCollection;
        var field;
        var list;
        function getFieldType() {
            var clientContext = SP.ClientContext.get_current();
            if (clientContext != undefined && clientContext != null) {
                var webSite = clientContext.get_web();
                this.list = webSite.get_lists().getByTitle("List Request");
                this.fieldCollection = list.get_fields();
                this.field = fieldCollection.getByTitle("Choice");
                clientContext.load(this.field);
                clientContext.executeQueryAsync(Function.createDelegate(this, this.OnLoadSuccess),
Function.createDelegate(this, this.OnLoadFailed));
            }
        } 
        function OnLoadSuccess(sender, args) {
            
alert(field.get_typeAsString());
        } 
        function OnLoadFailed(sender, args) {
            alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
        }
</script
>
    <input id="btnGetFieldType" onclick="getFieldType()" type="button" value="Get Field Type" />


Step 13 : Click on Ok.

Step 14 : In the ribbon interface click on Save & Close button.

ECMA9.gif

Step 15 : In the content editor web part you could find a button named "Get Field type", click on that button.

ECMA10.gif

Steps 16 : An alert will pop up which displays the field type.

ECMA11.gif

Reference

SP.Field.get_typeAsString() Property - http://msdn.microsoft.com/en-us/library/ee553500.aspx

Summary

Thus in this article you have seen how to get the field type in SharePoint 2010 using ECMAScript.

Next Recommended Readings