Skip to main content

Validation or control form from JQuery - Default New and Edit forms



When you create a custom list, you get default edit and new forms with it. So when you are entering data or modifying it SharePoint provides you a form in a popup that enables you to enter or modify data.

But then, if you want to add custom features to the new or edit form, you can do so using JQuery. In the below example, based on the valued selected in the dropdown list, I want to enable or disable other control. And I want to add this JQuery code to the New and Edit forms of the custom list.

function HideColumn(stat, active) 
{  
        var activeObj = $("input[title='" + active + "']");
        
       //initially when the user opens the form, we need to check if the user has selected the status that we have written code for…
       //if selected value is other than Suspend, disable the control
        var initialVal = $("select[title='"+ stat +"']").find('option:selected').text();
        if(initialVal == 'Suspend')
        {$(activeObj).attr('disabled', false)}
        else
        {$(activeObj).attr('disabled', true)}

         //Now handle dropdown list’s change event. In this event we will check what is the selected value of the ddl, based on the value, we enable or disable the control…
 $("select[title='"+ stat +"']").change(function() 
 { 

  var selectedValue = $("select[title='"+ stat +"']").find('option:selected').text();
 
         if(selectedValue == 'Suspend') 
  {
              $(activeObj).attr('disabled', false)
          }
  else {
       $(activeObj).attr('disabled', true)
              }
 });
}

$(document).ready(function() {HideColumn('Status', ' Active');} ); 

In the above example, I have written a function HideColumn which will be called when the document is ready. The parameters to this function are the column names of dropdown list – ‘Status’ and other control which we want to enable/disable.

Now when the user opens the form in edit mode, the status ddl is already selected. At this time, we want to make sure based on the selected value, we change the state (enable/disable) of the other control. In SharePoint you are not aware of the ‘Id’ property of the control. Or this property will be having some junk value. But what you can depend on is the ‘Title’ property. So by passing the title property, we can create the control object.

var activeObj = $("input[title='" + active + "']");

You can get the selected text of the drop down list by using the find method as below.

var initialVal = $("select[title='"+ stat +"']").find('option:selected').text();

Once you are done with enabling and disabling the control at start up, you have to attach change event handler to the status drop down list.

$("select[title='"+ stat +"']").change(function(){});

This function will fire every time you change the value in the drop down list. Now based on the selected value, you can enable or disable the other control.


Now, how do you put this on to the new and edit form? Well go to the list tab, click on ‘Form Web Parts’ and select ‘Default New form’. In the form, click on add web part, click on ‘Media and Content’. Add ‘Content Editor’ web part.



Now in the ‘Editing Tools’ – ‘Format Text’ tab, click on ‘HTML’ – ‘Edit HTML Source’. Paste you JQuery code in this popup dialog. Don’t forget to set the chrome type to ‘None’ in the web part properties.

Follow the same steps to configure JQuery code in the edit form also.

Happy SharePointing...

-Vighnesh

Comments

Popular posts from this blog

Working with large xml files in c# .net

Working with large (huge) xml files is always a pain in the … The reason? These files can’t be loaded in to memory. On my desktop, where I have 2 gigs memory, I can’t open the file in even notepad. I was presented with a challenge recently to manipulate one such large xml file. The xml file was of 550+ MB. I know many would say I have seen bigger xml files than this. But the heart of the matter is if I can’t open 550+ MB file in notepad or in xmldocument in c#, then I can’t open any file bigger than this. And hence the logic to play with these files would remain same. The scenario: We have an xml file from which we want to remove a single node without removing its children. In the below sample xml fragment, the node has to be removed. The children nodes, must then be attached to ( node’s parent) node. One Two 100.22 GoodDay 3 4 Five 200.09 Cra...

Upgrade and Migration for SharePoint Foundation 2010

      1.1 Introduction Microsoft SharePoint Foundation 2010 has been designed for scale and performance and as such requires new hardware and software requirements. There are 3 major steps while upgrading. 1. Plan and Prepare 2. Perform a database attach upgrade 3. Verify upgrade 1.2 Plan and Prepare   Before we run any process to upgrade from Windows SharePoint Services 3.0 to Microsoft SharePoint Foundation 2010, we have to determine which upgrade approach to take. In our scenario, Database Attach Upgrade seems to be appropriate approach to follow. We can upgrade the content for the environment on a separate farm. The result is that you do not upgrade any of the services or farm settings. You can upgrade the databases in any order and upgrade several databases at the same time. While each database is being upgraded, the content in that database is not available to users. 1.2.1 Upgrade Approach A database attach upgrade enables you to move to...

Object Oriented Analysis & Design (OOAD) and Unified Modelling Language (UML)

Part 1 – Identifying Use Cases – Use Case Diagrams Recently I went through OOAD and UML training. The OOAD and UML tutorial was very impressive and I decided to share it with you. Object Oriented Analysis & Design and Unified Modelling Language is very important in a life cycle of a project. Previously I was involved in project requirement study and technical design. But this time, I learned the tricks of the trade. I discovered different tips for identifying Use Cases, Actors and Classes . In this series of posts, I am planning to take you through the process of involvement of UML in Requirement analysis and Design phase. This series will include 3 parts... Part 1. Identifying Use Cases – Use Case Diagrams Part 2. Realizing Use Cases – Sequence Diagrams Part 3. Identifying Classes – Class Diagrams For this purpose we will take commonly available sample requirement – Student Registration process. From this requirement we will identify the ACTORS and US...