Simply install the plugin and add the appropraite CSS class to the form field you want to assign an attribute. This is done within the Form Editor under the Advanced tab of the field. The classes are “disabled” for the disabled attribute and “readonly” for the readonly attribute (don’t include the quotation marks).
This section describes how to install the plugin and get it working.
Search for Disable Gravity Forms Fields in the Add New Plugin section of the WordPress admin
Install & Activate
Download the zip file and upload disable-gf-fields to the /wp-content/plugins/ directory
Activate the plugin through the ‘Plugins’ menu in WordPress
How do I use this plugin?
Once you’ve installed and activated the plugin, just add a the appropriate class to your field (“disabled” or “readonly”).
What is the difference between the disabled and readonly attributes?
Both attributes set a field to be uneditable by the user. This means that the field will not accept any input from a user. However, there are a few important differences between the two attributes. Here’s a good overview of disabled vs. readonly attributes.
Do you offer support for this plugin?
This plugin is very simple so it’s unlikely you’ll need support. If you do have any questions, feel free to email me.
Im running this JS in my own custom file, but for those of you who want this to function in this plugin while using ajax you can change your disable-gf-fields.js file to the following code this can be done by editing the plugin file in through the WP plugin after installation by going to your admin screen and then plugins, then click edit next to this plugin and select the file . ..or you can just edit the js file before installation. anyway, gravity forms has a simple after render hook to allow for things to take place after any ajax or other renders of the form so you can just rerun the code any time the form is rendered by replacing this files code with this.
$(".gform_wrapper .readonly input").attr("readonly", true);
$(".gform_wrapper .disabled input").attr("disabled", true);
then the plugin will work with ajax as well.
THIS WILL ONLY WORK WITH READONLY to retain field data if you are pre-populateting the field dynamically!
Disabled fields do not pass information to the server and as such do not retain any pre populated data from a query string or shortcode ect. with the ajax call such as after a failed submission or page change and will fall back to their default state.
..you can however just set the default value of a disabled field if it is a constant value to be pre-populated, and it will work fine. but the data still will not be submitted with the form. you should use readonly to have the data passed.