Created
April 16, 2013 21:41
-
-
Save thoronas/5399889 to your computer and use it in GitHub Desktop.
Gravity Forms placeholder function.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//////// PLACEHOLDER TEXT ////////////// | |
/* Add a custom field to the field editor (See editor screenshot) */ | |
add_action("gform_field_standard_settings", "my_standard_settings", 10, 2); | |
function my_standard_settings($position, $form_id){ | |
// Create settings on position 25 (right after Field Label) | |
if($position == 25){ | |
?> | |
<li class="admin_label_setting field_setting" style="display: list-item; "> | |
<label for="field_placeholder">Placeholder Text | |
<!-- Tooltip to help users understand what this field does --> | |
<a href="javascript:void(0);" class="tooltip tooltip_form_field_placeholder" tooltip="<h6>Placeholder</h6>Enter the placeholder/default text for this field.">(?)</a> | |
</label> | |
<input type="text" id="field_placeholder" class="fieldwidth-3" size="35" onkeyup="SetFieldProperty('placeholder', this.value);"> | |
</li> | |
<?php | |
} | |
} | |
/* Now we execute some javascript technicalitites for the field to load correctly */ | |
add_action("gform_editor_js", "my_gform_editor_js"); | |
function my_gform_editor_js(){ | |
?> | |
<script> | |
//binding to the load field settings event to initialize the checkbox | |
jQuery(document).bind("gform_load_field_settings", function(event, field, form){ | |
jQuery("#field_placeholder").val(field["placeholder"]); | |
}); | |
</script> | |
<?php | |
} | |
/* We use jQuery to read the placeholder value and inject it to its field */ | |
add_action('gform_enqueue_scripts',"my_gform_enqueue_scripts", 10, 2); | |
function my_gform_enqueue_scripts($form, $is_ajax=false){ | |
?> | |
<script> | |
jQuery(function(){ | |
<?php | |
/* Go through each one of the form fields */ | |
foreach($form['fields'] as $i=>$field){ | |
/* Check if the field has an assigned placeholder */ | |
if(isset($field['placeholder']) && !empty($field['placeholder'])){ | |
/* If a placeholder text exists, inject it as a new property to the field using jQuery */ | |
?> | |
jQuery('#input_<?php echo $form['id']?>_<?php echo $field['id']?>').attr('placeholder','<?php echo $field['placeholder']?>'); | |
<?php | |
} | |
} | |
?> | |
}); | |
</script> | |
<?php | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment