So I have "successfully" created a new field; however, none of the properties or the advanced input areas appear (as I would like to use some of the default ones). How do I 'enable' them?
Here's my attempt so far: http://pastebin.com/Kgf195d2
So I have "successfully" created a new field; however, none of the properties or the advanced input areas appear (as I would like to use some of the default ones). How do I 'enable' them?
Here's my attempt so far: http://pastebin.com/Kgf195d2
Hello Travis,
If you look at the following doc page, there is a sample on how to create a new custom setting.
In that example, note line 24:
fieldSettings["text"] += ", .encrypt_setting";
This line is assigning the new custom setting "encrypt_setting" to fields of type text. You will need to do something similar to your custom field, but replacing "text" with your custom field name. You can also assign any of the built-in settings such as label, default value, conditional logic, etc... I don't have a full list of all available settings, but if you look at the end of the gravityforms/js/forms.js file, you will see how the built-in settings are assigned to the existing fields. That should help you choose the settings you need for your field.
Thanks Alex. I've incorporated this; however, this adds a placement input area to OTHER fields, but not the newly created custom field, TOS.
Here's the newly added code from the previous pastebin:
add_action( "gform_editor_js", "my_gform_editor_js" );
function my_gform_editor_js(){
?>
<script type='text/javascript'>
//adding setting to fields of type "text"
fieldSettings["textarea"] += ", .tos_setting";
//binding to the load field settings event to initialize the checkbox
jQuery(document).bind("gform_load_field_settings", function(event, field, form){
jQuery("#field_tos").val(field["tos"]);
});
</script>
<?php
}
New pastebin: http://pastebin.com/iDxYWPbY
Is there a way to add a conditional. What I am trying to do is to create an advanced version of the Paragraph Text. And this is a big stumbling block for me. In essence I want to add an input text box to the Settings, but everything else should be the same.
Pic of my new custom field: http://wpsmith.net/files/temp/new-tos-custom-field.png
Pic of the paragraph field: http://wpsmith.net/files/temp/paragraph-text-field.png
You are close. In your code snippet above, replace:
fieldSettings["textarea"] += ", .tos_setting";
with
//Add all textarea settings to the "TOS" field plus custom "tos_setting"
fieldSettings["tos"] = fieldSettings["textarea"] + ", .tos_setting";
Now, when I test the Field Size, it is not resizing appropriately. Isn't this accurate?
// Adds the input area to the external side
add_action( "gform_field_input" , "wps_tos_field_input", 10, 5 );
function wps_tos_field_input ( $input, $field, $value, $lead_id, $form_id ){
//print_r($field);
if ( $field["type"] == "tos" ) {
$max_chars = "";
if(!IS_ADMIN && !empty($field["maxLength"]) && is_numeric($field["maxLength"]))
$max_chars = self::get_counter_script($form_id, $field_id, $field["maxLength"]);
$input_name = $form_id .'_' . $field["id"];
$tabindex = GFCommon::get_tabindex();
return sprintf("<div class='ginput_container'><textarea name='input_%s' id='%s' class='textarea %s' $tabindex rows='10' cols='50'>%s</textarea></div>{$max_chars}", $field["id"], 'tos-'.$field['id'] , $field["type"] . ' ' . esc_attr($field['cssClass']) , esc_html($value));
}
return $input;
}
Hello,
I figured out the issue. You can close this topic.
Thanks,
Travis
Thanks Travis. Care to post your revised code?